1、元组
1.1、什么是元组(tuple)
- 元组就是不可变的列表
- 元组是容器型数据类型,将()作为容器的标志,里面多个元素用逗号隔开(元素1,元素2,元素3,元素4)
- 元组不可变(不支持增、删、改操作),有序(支持下标操作)
- 元素可以是任何类型的数据
- tuple(数据) -- 将数据装换为元组(数据必须是序列)
tuple1 = (1,2,3)
print(type(tuple1))
print(tuple('hello')) # ('h', 'e', 'l', 'l', 'o')
1.2、查
(与列表获取元素的操作一致;对此有疑问可以去复习前一篇的列表的相对应部分[https://www.jianshu.com/p/d30f6e740a94])
1.3、相关运算
+, *, ==, !=, is, in, not in, len, max, min, sum, sorted
(与列表获取元素的操作一致;对此有疑问可以去复习前一篇的列表相对应部分[https://www.jianshu.com/p/d30f6e740a94])
1.4、元组特有或使用频率偏高的操作
1)单个元素的元组:(元素,)
- 逗号不能省
tuple1 = (10, )
print(tuple1, type(tuple1))
2)单独使用的元组的值,()可以省略
- 直接多个数据用逗号隔开表示的还是一个元组
tuple1 = 10, 21, 23
print(tuple1, type(tuple1))
3)可以通过让变量的个数和元组中元素的个数保持一致来获取元组中的元素
- 变量1,变量2,变量3,... = 元组
tuple1 = (10, 20)
x, y = tuple1
print(x, y)
4)同时声明多个变量获取元组中的元素,变量的个数可以比元组中的元素的个数少,但是这个时候多个变量中的某一个变量的前面必须加星号(),带星号()的变量可以获取带*的变量获取完剩下的部分
tuple1 = (32, 34, 45, 31, 21, 12)
*x1, x2, x3 = tuple1
print(x1, x2, x3) # [32, 34, 45, 31] 21 12
x1, *x2, x3 = tuple1
print(x1, x2, x3) # 32 [34, 45, 31, 21] 12
x1, x2, *x3 = tuple1
print(x1, x2, x3) # 32 34 [45, 31, 21, 12]
2、数字
- python中和数字相关的类型:整型(int)、浮点型(float)、布尔(bool)、负数(complex)
2.1、整型(int)
- 所有整数对应的类型(python2.x中整型除了int还有long);支持二进制、八进制和十六进制的表示方式
类型转化:int(数据) -- 将指定的数据转换成整型;
1)所有的浮点数和布尔都可以转换为整型
2)字符串(字符串去掉引号之后本身就是个整数的字符串)可转换为整型。
print(int('123'))
2.2、浮点数
- 浮点型(float) -- 所有带小数点的数对应的类型;支持科学计算法:3e4 == 3^10**4
print(3e4)
print(1e-5 + 1)
类型转化:float(数据) -- 将指定的数据转换成浮点型;
1)所有的整型和布尔都可以转换为浮点型
2)字符串(字符串去掉引号之后本身就是个数字的字符串)可转换为浮点型。
print(float('123.999'))
print(float('2e3'))
2.3、布尔(bool)
- 只有True和False;True的本质就是1,False的本质就是0。
print(True + 1) # 2
print(False + 1) # 1
类型转化:bool(数据) -- 将指定的数据转换成布尔值;
1)不管什么类型的数据都能转化为布尔,所有为零为空的都转换为False,其他的都是True eg: 0, 0.0, '', [], (), None
2)字符串(字符串去掉引号之后本身就是个数字的字符串)可转换为浮点型。
print(bool(0),bool(0.0),bool(''),bool([]),bool(()),bool(None))
num = 2
if num & 1:
# 如果num为奇数则执行改代码段
print('=====')
if num & 1 == 0:
print('偶数')
2.3、复数(complex)
- 由实部和虚部组成的数就是负数,实部+虚部j;python直接支持负数运算
# 注意:如果虚部是1,这个1不能省
c1 = 5 + 4j
c2 = 15 - 5j
print(c1+c2)
print(c1-c2)
print(c1*c2)
print(c1/c2)
网友评论