常见数据类型
Python常见的数据类型大致可分为数值类型、布尔类型、字符串等等(注:列表、元组、字典、集合后面会单独写一篇,在此处先按下不表)
数值类型
1.int
int类型的数据大致又可以分为二进制、八进制、十六进制、十进制类型的数据。
二进制
二进制数里面只能包含0、1,前面用0b开头,如下演示:
a = 0b11
print(a) # a = 3
八进制
八进制数里面只能包含0、1、...、7,前面用0o开头,如下演示:
a = 0o11
print(a) # a = 9
十六进制
十六进制数里面只能包含0、1、...、15,前面用0x开头,如下演示:
a = 0x11
print(a) # a = 17
十进制
十进制数里面只能包含0、1、...、9,就是我们最常见的,这里就不多做演示。
不同进制之间的转换
# num为数值类型数据
bin(num) # 将num转换为二进制数
hex(num) # 将num转换为十六进制数
oct(num) # 将num转换为八进制数
2.float
float类型就是我们理解的小数类型,如1.1,5.等等
3.complex
complex类型就是复数类型,a+bj,但是Python中并不能直接这样写,而是调用一个complex函数来生成复数类型,如下
complex(a,b)
布尔类型
布尔类型就两个值——True、False
字符串类型
Python中没有字符这个概念,哪怕一个字符也称为字符串,字符串通常用引号引起来,如下:
str = 'abc'
str1 = "666"
str2 = '''人生苦短
我用Python'''
单引号、双引号、三引号都行。三引号时,里面的内容可以跨行,若没有赋给str2,三引号里面的内容也会被当做注释。
运算符
Python中的运算符分为算术运算符、复合运算符、比较运算符以及逻辑运算符。
1.算术运算符
a + b
a - b
a * b
a / b
a // b # 整除,如 10 // 3 = 3
a ** b # 幂运算,如 2 ** 3 = 8,即2的3次方
a % b # 取余,如10 % 3 = 1,即10除以3的余数
2.复合运算符
a += b # a = a + b
a -= b # a = a - b
a *= b # a = a * b
a /= b # a = a / b
a //= b # a = a // b
a **= b # a = a ** b
a %= b # a = a % b
3.比较运算符
a > b
a < b
a != b # a 不等于 b
a <= b # a 小于等于b
a >= b
a == b # a 等于 b
a is b # a 等于 b
a < b < c # 链式比较运算符,b大于a且b小于c
返回值均为布尔类型,既然a == b 与 a is b都是判断a与b是否相等,那么它们有什么区别呢?a == b判断的是a与b的值是否相等,而a is b判断的是a与b的唯一标识(内存地址)是否相等,可以用id(a)来查看a的表示,如果id(a)返回的一长串数字与id(b)返回的相同,则a is b返回True。
4.逻辑运算符
not # 非 取反,真的变假,假的变真
and # 与 两边同为真时,才为真,其余均为假
or # 或 两边同为假时,才为假,其余均为真
a = True
b = True
c = False
not a # False
not c # True
a and b # True
a and c # False
a or c # True
非布尔类型的值, 如果作为真假来判定, 一般都是非零即真, 非空即真。整个逻辑表达式的结果不一定只是True和False,如下图所示:
当连续运用and、or运算符时,特别特别特别要注意其逻辑短路问题。