数字
python中的数字比较典型,典型在可以表示很小的数,也可以表示很大的数,c语言的数字类型如果表示很大的数的话,可能会报溢出错误,但是python不会,
python 数字类型的完整工具包括
整数和浮点数
复数
固定精度的十进制数
有理分数
集合
布尔类型
无穷的整数精度
各种数字的内置模块和函数
数字常量
1234,0,999999 整数(无穷大小)
1.23,45.6 浮点数
0177,0x9ff,0b101010 八进制,十六进制,二进制2.6版本
0o177,0x9ff,0b101010 八进制,十六进制,二进制3.0版本
3+4j,3.0+4.0j 复数
内置的数学工具和扩展
表达式
+ - * / >> ** & 等
内置数学函数
pow abs round int hex bin 等
bin 讲一个整数抓换成二进制字符串输出
>>>m = 5
>>>bin(m)
'0b101'
公用模块
random math 等
python表达式操作符
只说几个特殊的
x and y 逻辑与
x or y 逻辑或
not x 逻辑非
上面三个并不是c语言中的&& || !
优先级问题
优先级一般不予考虑,最安全的办法就是给自己想要的顺序添加括号就好
混合类型
两个操作数类型不同进行运算,一般会讲简单类型的数转换成量外一个复杂的数然后进行运算
数字格式化
>>>num = 1/3.0
>>>'%4.2f' % num
'0.33'
>>>'%e' % num
3.333333e-001
>>>'{0:4.2f}'.format(num)
'0.33'
除法操作
x/y 传统的除法 整数只保留整数部分,去掉小数部分 如果是浮点数,则保留小数部分
x//y floor除法 不考虑操作数的类型,总会省略掉小数部分
其他的内置数学工具
除了核心类型外,python还支持内置函数和内置模块,
import math
math.pi
math.e
math.sin(2*math.pi/180)
math.sqrt(2)
pow(2,4)
abs(2.4)
sum(1,2,4)
min(4,5,6)
max(3,4,5,6)
math.floor(3.4) 3
math.floor(-3.4) -4
math.trunc(-3.4) -3
math.trunc(3.4) 3
int(2.3) 2
int(-2.3) -2
round(2.567) 3
round(2.467) 2
round(2.567,2) 2.56999999999
import random
random.random()
random.randint(1,10) 5
random.randint(1,10) 4
random.choice(['aa','bb','cc']); 'aa'
random.choice(['aa','bb','cc']); 'bb'
分数类型
from fractions import Fraction
>>>x = Fraction(1,3)
>>>x
Fraction(1,3)
同样可以进行数学运算
>>>1/3
0.33333333
>>>Fraction(1,3)
Fraction(1,3)
集合
>>>x = set('abcd')
>>>x
set(['a','b','c','d'])
>>>'a' in x
true
>>>Y = set('bdfe')
>>>x-y
set(['a','c'])
>>>x&y
set(['a','b','c','d','e','f'])
>>>x|y
set(['b','d'])