[Python入门及进阶笔记]Python-基础-数字小结
2013-03-09 23:48
741 查看
博客迁往:新地址 (点击直达)
新博客使用markdown维护,线下有版本库,自己写的所以会定时更新同步,同时提供更好的导航和阅读体验csdn对markdown支持不好,所以旧版不会花时间进行同步修订,抱歉
数字
python中的数字类型完整工具:整数&浮点数,复数,固定精度十进制数,有理分数,集合,布尔类型,无穷的整数精度,各种数字内置函数和模块数类型
Python中有四种类型的数整数:一般意义上的数,包含十进制(无前缀),八进制(0开头),十六进制(0x开头),二进制(0b开头) eg. 2 长整数:无限大小的数,表示范围和内存有关 eg. 2012121200 浮点数:小数或用e/E(10的幂)表示的幂,默认,浮点数学缺乏精确性,可以使用decimal eg. 3.23 50.2E2 复数:复数的虚部以字母J 或 j结尾 eg. 2+3i
1.分数
from fractions import Fraction x = Fraction(1,3) y = Fraction(4,6)
浮点数和分数转换:
(2.5).as_integer_ratio() #返回元组(5,2) 或者Fraction.from_float(1.75)
2.复数
a = 实数 + 虚数j a.real #实部 a.imag #虚部 a.conjugate() #共轭复数
虚数不能单独存在, 总是和一个值为0.0的实数部分一起构成一个复数
实数部分和虚数部分都是浮点数
运算符
+加法 -减法 *乘法 **幂次(也可以使用内建的pow()函数来进行幂运算) /除法(2.x中是整除,3.x是浮点除) //取整,商的整数部分强制整除(浮点数也会做整除运算) %取余(可以使用内建的divmod()函数获得结果和余数的元组) &位与 |位或 ^位异或 ~位翻转 x -> -(x+1) <<左移 >>右移 值不相等 a != b
运算符优先级,同级从左到右
BP:良好的做法是随时根据优先级需要加入括号,而不是依赖默认优先级
内置函数
最常用round1.abs(number)
返回数字的绝对值,
如果是复数, 返回math.sqrt(num.real2 + num.imag2)
2.coerce(number1, number2)
按照类型转换规则,将num1和num2转为同一类型,以元组形式返回
3.divmod(number1, number2)
返回一个包含商和余数的元组
整数返回地板除和取余操作结果
浮点数返回的商部分是math.floor(number1/number2)
复数的商部分是ath.floor((number1/number2).real)
4.pow(num1,num2,mod=1)
同**操作符
第三个为可选参数,即一个余数操作,若存在这个参数,先指数,后与第三个参数取余,性能比pow(x,y)%z更高
5.round(number[, base])
对浮点数进行四舍五入运算,base参数是小数位参数,决定了精确到小数点后几位
6.其他
其他内建及工厂函数在后面类型转换和进制转换中说明
类型转换
转换工厂函数主要在类型转换和进制转换中用到int(str, base=10) 转换为整型数,base为相应的进制;base的范围是2~32,base缺省十进制 long(obj,base=10), 转长整型 float(obj),转浮点数 complex(str),complex(real, imag=0.0), 转复数 bool(obj) 返回obj对象的布尔值,即obj.__nonzero__()方法返回值,没有__nonzero__()方法的对象默认值是True string(),转字符串 chr(num) ASCII数字值转为字符 ord(chr) 字符转对应ASCII/Unicode值 unichr(num) 接收Unicode码值
进制转换
八进制:0o1十六进制:0x10
二进制0b1
1.十进制到其他
oct(64) #->8 hex(64) #->16 bin(64) #->2
接收一个整型对象(任意进制),返回对应值的字符串
2.其他到十进制
int(‘64’) int(‘100’,8) int(‘40’,16) int(‘1000000’,2) #或者 eval(‘64’) eval(‘0o100’) eval(‘0x40’) eval(‘0b1000’)
其他
1.小整数缓存>>> a = -5 >>> b = -5 >>> a is b True >>> a = -6 >>> b = -6 >>> a is b False >>> a = -6 >>> b = -6 >>> a is b False >>> a = 256 >>> b = 256 >>> a is b True >>> a = 257 >>> b = 257 >>> a is b False
看python源代码可知,下限-5,上限256被设定为缓存范围。
2.除法关于传统除法/真正除法/地板除传统除法
>>> 1/2 0 >>> 1.0/2.0 0.5
真正除法
>>> from __future__ import division >>> 1/2 0.5 >>> 1.0/2.0 0.5
地板除
>>> 1//2 0 >>> 1.0//2.0 0.0 >>> -1//2 -1
常用模块
math random decimal operator
下一篇数学常用模块中说明
The end!
To be continue
wklken
Email: wklken@yeah.net
Blog: http://blog.csdn.net/wklken
2013-03-09
转载请注明出处,谢谢
相关文章推荐
- [Python入门及进阶笔记]Python-基础-数字小结
- [Python入门及进阶笔记]Python-基础-内置函数小结
- [Python入门及进阶笔记]Python-基础-字符串小结
- [Python入门及进阶笔记]Python-基础-列表及列表解析小结
- [Python入门及进阶笔记]Python-基础-数字处理相关模块
- [Python入门及进阶笔记]Python-基础-函数小结
- [Python入门及进阶笔记]Python-基础-数字处理相关模块
- [Python入门及进阶笔记]Python-基础-文件处理小结
- [Python入门及进阶笔记]Python-基础-集合小结
- [Python入门及进阶笔记]Python-基础-字符串小结
- [Python入门及进阶笔记]Python-基础-字典小结
- [Python入门及进阶笔记]Python-基础-集合小结
- [Python入门及进阶笔记]Python-基础-字典小结
- [Python入门及进阶笔记]Python-基础-元组小结
- [Python入门及进阶笔记]Python-基础-列表及列表解析小结
- [Python入门及进阶笔记]Python-基础-内置函数小结
- [Python入门及进阶笔记]Python-基础-元组小结
- [Python入门及进阶笔记]Python-基础-列表及列表解析小结
- [Python入门及进阶笔记]Python-基础-文件处理小结
- [Python入门及进阶笔记]Python-基础-内置函数小结