Python3 的六个标准数据类型中:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
数字类型
Python中数字有四种类型:整数、布尔型、浮点数和复数。
int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
bool (布尔), 如 True和False。
float (浮点数), 如 1.23、3E-2
complex (复数), 如 1 + 2j、 1.1 + 2.2j
Python支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
内置的 type() 函数可以用来查询变量所指的对象类型,
print(type(1))
此外还可以用 isinstance 来判断:
isinstance(1, int)
两者的区别在于:
type()不会认为子类是一种父类类型。isinstance()会认为子类是一种父类类型。执行结果如下:
可以通过使用del语句删除单个或多个对象
在使用过程中注意以下几点:
1、Python可以同时为多个变量赋值,如a, b = 1, 2。
2、一个变量可以通过赋值指向不同类型的对象。
3、数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。
4、在混合计算时,Python会把整型转换成为浮点数。
布尔类型
1、在数值上下文环境中,True 被当作 1,False 被当作 0,例如:
2、其他类型值转换 bool 值时除了 ''、""、''''''、""""""、0、()、[]、{}、None、0.0、0L、0.0+0.0j、False 为 False 外,其他都为 True 例如:
数学函数
函数 | 返回值 ( 描述 ) |
---|---|
abs(x) | 返回数字的绝对值,如abs(-10) 返回 10 |
ceil(x) | 返回数字的上入整数,如math.ceil(4.1) 返回 5 |
cmp(x, y) |
如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已废弃,使用 (x>y)-(x<y) 替换。 |
exp(x) | 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045 |
fabs(x) | 返回数字的绝对值,如math.fabs(-10) 返回10.0 |
floor(x) | 返回数字的下舍整数,如math.floor(4.9)返回 4 |
log(x) | 如math.log(math.e)返回1.0,math.log(100,10)返回2.0 |
log10(x) | 返回以10为基数的x的对数,如math.log10(100)返回 2.0 |
max(x1, x2,...) | 返回给定参数的最大值,参数可以为序列。 |
min(x1, x2,...) | 返回给定参数的最小值,参数可以为序列。 |
modf(x) | 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。 |
pow(x, y) | x**y 运算后的值。 |
round(x [,n]) | 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。 |
sqrt(x) | 返回数字x的平方根。 |
随机数函数
随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。
Python包含以下常用随机数函数:
函数 |
描述 |
从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。 |
|
从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1 |
|
随机生成下一个实数,它在[0,1)范围内。 |
|
改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。 |
|
将序列的所有元素随机排序 |
|
随机生成下一个实数,它在[x,y]范围内。 |
三角函数
Python包括以下三角函数:
函数 |
描述 |
返回x的反余弦弧度值。 |
|
返回x的反正弦弧度值。 |
|
返回x的反正切弧度值。 |
|
返回给定的 X 及 Y 坐标值的反正切值。 |
|
返回x的弧度的余弦值。 |
|
返回欧几里德范数 sqrt(x*x + y*y)。 |
|
返回的x弧度的正弦值。 |
|
返回x弧度的正切值。 |
|
将弧度转换为角度,如degrees(math.pi/2) , 返回90.0 |
|
将角度转换为弧度 |
数学常量
常量 | 描述 |
---|---|
pi | 数学常量 pi(圆周率,一般以π来表示) |
e | 数学常量 e,e即自然常数(自然常数)。 |
其他
1、Python 所谓的奇进偶弃,因为浮点数的表示在计算机中并不准确,用的时候可能要注意一下。尽量避免使用round()。
当个位为奇数,小数部分>=0.5入,其余为舍
当个位为偶数,小数部分>0.5入,其余为舍。
2、python 不支持复数转换为整数或浮点数
3、random.sample(sequence,length) 可以从指定的序列中,随机的截取指定长度的片断,不修改原序列。
random.randint(x,y) #随机生一个整数int类型,可以指定这个整数的范围
4、一定要注意 += 和 =+ 的不同。一定要分清 += 和 =+ 哦!另外要注意 Python 可是没有 a++ 指令的!可以理解b=+6其实就是正数6。
5、字符转为数字
var='1234'
num=int(var) # 如果是小数可用 float
字符转为列表
num_list=list(var)
列表转为数组
可以用 numpy 模块:
import numpy as np
num_array=np.array(num_list)
也可以是 num_array=[int(i) for i in num_list]。
6、Python3中已经不能使用cmp()函数了,被如下五个函数替代:
import operator #首先要导入运算符模块
operator.gt(1,2) #意思是greater than(大于)
operator.ge(1,2) #意思是greater and equal(大于等于)
operator.eq(1,2) #意思是equal(等于)
operator.le(1,2) #意思是less and equal(小于等于)
operator.lt(1,2) #意思是less than(小于)
7、针对前面有人提到复数不能强转为int或者float的问题:
其实在Python中,复数提供了2个函数,一个函数是real,返回复数的实数部分,另一个函数是imag,返回复数的虚数部分。因为实数跟复数是差异很大的类型,所以不支持强制转换是可以理解的。因为在强制转换过程中,虚数部分到底该怎么转换,是没有定义的,而int和float只有实数部分