数据类型
顾名思义就是一个数据的类型。不同的数据有不同的特征,例如性别和身份证号码就是两种不同的数据类型(你无法用数字去描述一个人的性别),所以我们需要用不同的数据类型去记录保存。
数据类型分为:
1. 整型(int)
# 整型(int)可以用来描述例如身份证号/年龄/QQ号码/电话号码等
>>> tel = 18312345678
>>> print(type(tel))
<class 'int'>
2. 浮点型(float)
# 浮点型(float)可以用来描述一个人的薪资/身高/体重等
>>> salary = 3.5
>>> print(type(salary))
<class 'float'>
3. 字符串(str)
# 字符串(str)可以用来表示家庭住址/名字/爱好等
>>> hobby = 'money'
>>> print(type(hobby))
<class 'str'>
# 字符串可以进行拼接操作
>>> hobby = 'money'
>>> name = 'Catalog_Spri'
>>> print(name + hobby)
Catalog_Sprimoney
# 但是字符串的拼接很浪费内存空间,不建议使用
4. 列表(list)
# 列表(list)内部可以记录多个任意数据类型的值。
>>> stu_name = ['zhangsan', 'lisi', 'wangwu', 'maliu']
>>> print(type(stu_name))
<class 'list'>
# 上述说到,列表内部可以存储任意数据类型的值,也就是说,列表内部也可以存储列表。
>>> stu_info = ['zhangsan', 18, ['sleep', 'eat'], 3.4]
>>> print(type(stu_info))
<class 'list'>
# 当我们想要取出列表中的某个数据时,只需按照索引值将数据取出。
>>> stu_info
['zhangsan', 18, ['sleep', 'eat'], 3.4]
>>> print(stu_info[1])
18
# 这里需要注意,索引值是以0为开始。当我们想要取出列表的第一个值时,需要写print(stu_info[0])
>>> print(stu_info[2][0])
sleep
# 我们可以取出处于列表任何位置的数据。
5. 字典(dict)
# 字典(dict)是以key:value的形式存储数据的。当我们要存储一个人的信息时,我们无法简单的使用列表去存储一个人的信息,这个时候就需要用到字典。其中'key'通常是字符串形式,而'value'可以是任意的数据类型。
>>> info = {
... 'name' : 'Catalog_Spri',
... 'age' : 18,
... 'hobbies' : ['music', 'read', 'movie']
... }
>>> print(type(info))
<class 'dict'>
# 可以看出字典里面存放的数据是具有对应关系的。我们可以清晰的知道'name'是'Catalog_Spri'。
# 我们需要注意的是,'value'可以是任意的数据类型。也就是说,我们的'value'可以是字符串,可以是整型,可以是列表,同样也可以是字典。在这里就不一一举例了。
# 和列表一样,我们可以取出字典中任意位置的数据。
>>> print(info['hobbies'][1])
read
# 需要注意的是,字典取数值是按照'key'去查找,而不是按照索引值。字典内部是无序的,也就不存在索引值的概念。
6. 布尔型(bool)
# 布尔型只有两个值:TRUE,FALSE。是用来标识条件是否成立的一个数据类型,在逻辑判断中应用极为广泛。
# 所有类型的值都自带布尔值,当数据类型的值为0,NONE,空时,布尔值为FALSE,其他都为TRUE。
print(bool(0))
print(bool(None))
print(bool(''))
print(bool([]))
print(bool({}))
print(bool(1))
后续还有一些数据类型我们明天再说
...
基本运算符
基本运算大致分为这几类:
1. 算术运算
# python支持数据类型之间的运算。
>>> a = 10
>>> b = 3.1
>>> c = 5
>>> d = 2.4
>>> print(a + b)
13.1
>>> print(a + c)
15
>>> print(b + d)
5.5
# 整型与整型,整型与浮点型,浮点型与浮点型之间都可以进行数据运算。
# 数据之间的运算不仅包括'+',还包括'-', '*', '/', '**', '//', '%'.
# '**'代表幂运算 例:2**3 = 8. 即2的3次方。
# '//'代表地板除法 例:5//2 = 2。 地板除法只取整数部分,注意不是四舍五入,而是只保留整数部分
# '%'代表取余运算 例:5%2 = 1. 5除以2,商2余1.取余,顾名思义,将余数取出来。
2. 比较运算
# 比较运算就是拿两个值来作比较
>>> a = 10
>>> b = 5.7
>>> print(a > b)
True
# 这里需要说明,字符串,列表等也是可以进行比较运算的,具体的运算方式有兴趣的可以自行了解。
# 比较运算符包括 '>', '<', '>=', '<=', '=='.
3. 赋值运算
# 1. 增量运算
>>> age = 30
>>> age = age + 1 #这句话就等同于 age += 1.
>>> print(age)
31
# 同样的上面所述的算术运算在这里都适用。 '-=', '*=', '/=', '**=', '//=', '%='.这里就不再一一举例。
# 2. 链式赋值
>>> a = b = c = d = 10
>>> print(a, b, c, d)
10 10 10 10
>>> print(a is b is c is d)
True
# 可以看出,这里对a, b, c, d进行赋值,a, b, c, d是完全相同的四个变量。
# 3. 交叉赋值
>>> a = 2
>>> b = 5
# 这里我们想要a, b的'值'相互交换。注意不是简单的令a = 5, b = 2.而是要让a对应的内存地址内的值赋值给b。
# 我们可以找一个中间变量c, 令c = a, 然后令a = b, 再令b = c.这样我们可以实现'值'相互交换的目的,但是这样太繁琐了。我们有更简便的方法
>>> a = 2
>>> b = 5
>>> a, b = b, a
>>> print(a, b)
5 2
# 我们可以利用交叉赋值将两个变量的'值'交换。
# 4. 解压赋值
>>> id = [1, 2, 3, 4]
>>> a = id[0]
>>> b = id[1]
>>> c = id[2]
>>> d = id[3]
>>> print(a, b, c, d)
1 2 3 4
# 我们使用了笨拙的方法将列表'id'中的值全部取出并赋给一个变量。
4. 逻辑运算
# and:连接左右两个条件,当两个条件都为真时,结果才为TRUE。如果左边条件为FALSE,则不需要判断右边条件,结果直接为FALSE。(一假即假)
# or:连接左右两个条件,当两个条件中有一个为真时,结果就为TRUE。如果左边条件为TRUE,则不需要判断右边条件,结果直接为TRUE。(一真即真)
# not:取条件的相反值。即如果条件为TRUE,则结果为FALSE。
>>> a = 10
>>> b = 5
>>> c = 8
>>> print(a > b and a > c)
True
>>> print(a > b and a < c)
False
>>> print(a > b or a < c)
True
>>> print(a < b or a < c)
False
>>> print(a > b and a > c)
True
>>> print(not a > b )
False
5. 身份运算
在前面的变量中已经提到,这里就不再过多的重复了。