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

 

posted @ 2019-04-25 17:38  月为暮  阅读(92)  评论(0)    收藏  举报