基础
- 数字提供标量的存储和直接访问,属于不可更改类型,更新数值就会生成新的对象
- 不可变类型的更新都是如此的
- 类型
- 布尔型 True False
- 标准整型
- 长整型,非常长好吧
- 双精度浮点型
#create
aInt = 1
aLong = -999999999999999999999999999999L
aFloat = 3.14, -1., 4.2E-10, 4.3e25
aComplex = 1.12 + 4.56J
aComplex.real
aComplex.imag
aComplex.conjugate()
#update
aInt +=2
aFLoat = 0.9
#delete
del aInt
操作符
- 类型A和类型B做运算,会有类型提升,整型->长整型->浮点->复数
#逻辑
>
<
==
!=
#支持
3 > 2 >1
#运算
+
-
*
**
%
/ #真正的除法
// #地板除
4 ** -1 #error
4.0 * -1 #0.25
4.2 ** 3.2
(2 + 3J) ** 2
#位运算(仅用于整数)
~ #取反-(num + 1)
&
|
^ #按位异或
<<
>>
#负数按照正数的2进制补码处理
#左移和右移等同于无溢出的2的N次幂运算
内建函数和工厂函数
#标准类型函数
cmp()
str()
type()
#数字类型函数
#转换工厂函数
bool(obj) #返回obj.__nonzero__()方法的值
int(obj, base=10) #string.stoi()
long(obj, base=10) #string.atol()
float(obj) #string.atof()
complex(str)
complex(real,inag=0.0)
#功能函数
abs(num) #对于复数,返回math.sqrt(num.real**2 + num.imag**2)
coerce(a, b) #返回类型转换完毕后的元组,就是对a和b做内置的类型提升,但是不做运算,直接返回
divmod(num1,num2) #返回商和余数的元组,
#整型:地板除+取余操作,
#浮点数:商是math.floor(num1/num2)
#复数:商是math.floor((num1/num2).real)
pow(num1,num2,mod=1)#指数后和第三个参数做取余计算
round(flt,ndig=0)#四舍五入计算取整,保留多少位小数
int() #直接截去小数部分,返回整型
floor()#最接近原数字但是小于原数字的整型,返回浮点型
round()#最接近原数的整型,返回浮点型
#仅用于整型的函数
hex(num) #将数字转换为16进制,以字符串形式返回
oct(num) #将数字转换为8进制,以字符串形式返回
chr(num) #将ASCII值得数字转换为ASCII字符,0<=num<=255
ord(num) #接受一个ASCII或unicode字符(长度为1的字符串),返回相应的ASCII和unicode码值
unichr(num) #接收unicode码值,返回对应的unicode字符
布尔类型
- 没有__nonzero__()方法的对象默认返回True
- 值为0的任何数字或空集(空列表、空元组、空字典…)都返回False
- 数学运算中,True=1,False=0
“真正的浮点数”,十进制数
from decimal import Decimal
print 0.1
dec = Decimal('0.1')
print dec
其他模块
- decimal
- array
- math/cmath
- operator
- random
- randint()
- randrange()
- uniform()
- random()
- choice() :随机给定序列的一个元素
Reference
Python核心编程