数字
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' % num3.333333e-001>>>'{0:4.2f}'.format(num)'0.33'除法操作x/y 传统的除法 整数只保留整数部分,去掉小数部分 如果是浮点数,则保留小数部分x//y floor除法 不考虑操作数的类型,总会省略掉小数部分其他的内置数学工具除了核心类型外,python还支持内置函数和内置模块,import mathmath.pimath.emath.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) 3math.floor(-3.4) -4math.trunc(-3.4) -3math.trunc(3.4) 3int(2.3) 2int(-2.3) -2round(2.567) 3round(2.467) 2round(2.567,2) 2.56999999999import randomrandom.random()random.randint(1,10) 5random.randint(1,10) 4random.choice(['aa','bb','cc']); 'aa'random.choice(['aa','bb','cc']); 'bb'分数类型from fractions import Fraction>>>x = Fraction(1,3)>>>xFraction(1,3)同样可以进行数学运算>>>1/30.33333333>>>Fraction(1,3)Fraction(1,3)集合>>>x = set('abcd')>>>xset(['a','b','c','d'])>>>'a' in xtrue>>>Y = set('bdfe')>>>x-yset(['a','c'])>>>x&yset(['a','b','c','d','e','f'])>>>x|yset(['b','d'])