Python数值类型初识(续)
1,复数
复数表示为两个浮点数(实部和虚部)并接在了虚部增加了j或者J的后缀 >>> 1j * 1J (-1+0j) >>> 2 + 1j * 3 (2+3j) >>> (2 + 1j) * 3 (6+3j)
2,十六进制,八进制,二进制的关系
>>> 0o1,0o20,0o37#八进制
(1, 16, 31)
>>> 0x01,0x10,0xff#十六进制
(1, 16, 255)
>>> 0b1,0b10000,0b11111111#二进制
(1, 16, 255)
>>> 0xFF,(15 * (16 **1)) + (15 * (16 ** 0))
(255, 255)
>>> 0x2F,(2 * (16 ** 1)) + (15 * (16 ** 0))
(47, 47)
python 默认以十进制显示整数值,但提供了内置函数能帮我们
把整数转换为其他进制的数字字符串
>>> oct(64),hex(64),bin(64)#转换为八,十六,二进制
('0o100', '0x40', '0b1000000')
内置函数int会将一个数字的字符串转换为一个整数,并通过第二位
可选的参数来确定转换数字的进制
>>> int('64'),int('100',8),int('40',16)
(64, 64, 64)
>>> int('0x40',16),int('0b1000000',2)
(64, 64)
3,按位运算
>>> x = 0b101010
>>> x << 2,bin(x << 2)#左移两位
(168, '0b10101000')
>>> int('0b10101000',2)
168
>>> bin(x | 0b1111111)#按位或
'0b1111111
>>> bin(x | 0b010101)
'0b111111'
>>> bin( x & 0b111111)#按位与
'0b101010'
>>> bin( x & 0b010101)
'0b0'
>>> bin( x ^ 0b111111)#按位异或
'0b10101'
>>> bin( x ^ 0b101010)
'0b0'
>>> bin( x ^ 0b0)
'0b101010'
4,一些内置的数值工具
要用数值工具,就要调用数学模块 >>> import math >>> math.pi,math.e#数学中PI和E的值 (3.141592653589793, 2.718281828459045) >>> math.sin(math.pi/6)#正弦值 0.49999999999999994 >>> math.cos(math.pi/3)#余弦值 0.5000000000000001 >>> math.sqrt(144),math.sqrt(4)#开平方 (12.0, 2.0) >>> pow(4,2),4 ** 2,4.0 ** 2#幂运算 (16, 16, 16.0) >>> abs(-3.5)#绝对值 3.5 >>> min(1,2,3,4),max(1,2,3,4)#最小值,最大值 (1, 4)
5,集合
集合的创建:只能通过set函数,
>>> x = set(1,2,4)#错误类型
TypeError: set expected at most 1 arguments, got 3
set函数可以创建一个无序不重复的元素集,但只能传入一个元素。
可以为,元祖,列表,字典(只能匹配键),字符串。
>>> a = {}#创建空字典
>>> type(a)
<class 'dict'>#此时a为一个字典
集合的一些运算符:
>>> x = set('hello world')#创建集合
>>> y = set('hello China')
>>> x
{'o', 'l', 'w', 'e', 'r', 'd', ' ', 'h'}
>>> y
{'o', 'l', 'C', 'n', 'e', 'i', ' ', 'h', 'a'}
>>> x + y
TypeError: unsupported operand type(s) for +: 'set' and 'set'
>>> x - y#集合相减
{'r', 'w', 'd'}
>>> x | y#集合相或
{'o', 'l', 'w', 'C', 'n', 'e', 'r', 'd', 'i', ' ', 'h', 'a'}
>>> x & y #集合相与
{'o', 'l', 'e', ' ', 'h'}
>>> x > y,x < y #集合进行比较
(False, False)
>>> 'r' in x #判断元素是否在集合中
True
>>> x.add('henan') #增加一个元素
>>> x
{'o', 'l', 'w', 'henan', 'e', 'r', 'd', ' ', 'h'}
>>> x.remove('henan') #删除元素
>>> x
{'o', 'l', 'w', 'e', 'r', 'd', ' ', 'h'}
>>> x.update('henan') #增加元素
>>> x
{'o', 'l', 'w', 'n', 'e', 'r', 'd', ' ', 'h', 'a'}
6,布尔类型
bool类型本质上是数字,它只包含两个值True,False相当于1和0 >>> type(True) <class 'bool'> >>> 1 == True True >>> 1 is True False >>> True * 8 8

浙公网安备 33010602011771号