1、数值类型
Python 3中有6种标准的数据类型:
Number(数字)、String(字符串)、 List(列表)、Tuple(元组)、Sets(集合)、Dictionary(字典)。其中,Python 3 支持3种不同的数值类型:整型(int)、浮点型(float)、复数(comlex)
1)整型
int通常被称为整型或整数,是正、负整数,不带小数点。在Python 3中,整型没有限制大小,可以当做long类型使用,所以Python 3没有Python 2的long类型。
在整数除法中,除法(/)计算结果是浮点数,即使两个整数恰好整除,结果也是浮点数。如果只想得到整数的结果,丢弃可能的分数部分,可以使用取整除(//),整数的取整除(//)永远是整数,及时除不尽。
2)浮点型
浮点数由整数部分与小数部分组成,也可以是用科学计数法表示。
整数和浮点数在计算机内部存储的方式不同,整数运算数永远是精确的,而浮点数运算可能会有四舍五入的误差。
对于金融等对数值精度高要求的情况下,可以使用decimal模块
3)复数
复数由实数部分和虚数部分构成,可以用a + b j或complex(a,b)表示,复数的实部a和虚部b都是浮点型。
2、数据类型转换
有时需要对数据内置的类型进行转换,只需要将数据类型作为函数名即可。
数据的类型转换时有如下4个函数可以使用:
- int(x) 将x转换为一个整数
- float(x) 将x转换为一个浮点数
- complex(x) 将x转换为一个复数,实数部分为x,虚数部分为0
- complex(x,y) 将x和y转换为一个复数,实数部分为x,虚数部分为y。x和y是数字表达式。
- 二进制 ob bin(x)将x转换为2进制
- 八进制 0o oct(x)将x转换为8进制
- 十六进制 0x hex(x)将x转换为16进制
3、常量、变量
1)常量
所谓常量,就是不能变的变量。在Python中,通常用全部大写的变量名表示常量。
Python中有两个比较常见的常量,即PI和E
- PI:数学常量pi(圆周率)
- E :数学常量e,即自然常数
2)变量
变量指向各种类型值的名字,以后再用这个值时,直接引用名字即可,不用再写具体的值,在Python中,变量的使用环境非常宽松,没有明显的变量声明,而且类型不是固定的。可以把一个整数赋值给变量,如果觉得不合适的话,把字符串赋值给变量也可以。
在使用变量前需要对其赋值,没有值得变量是没有意义的,编译器也不会编译通过。
变量名是由数字或字符组成的任意长度的字符串,必须以字母开头。使用大写字母是合法的,但变量名建议使用小写字母开头。Python是区分大小写的。
下划线“_”可以出现在变量名中,经常用于连接词组,如do_it_with_more_practice, happy_study。如果给变量取非法的名称,解释器会显示语法错误。
4、动态类型
静态类型:定义变量时就确定变量类型,后期存储数值时不可以超出该变量类型
动态类型:定义变量时不需要定义变量类型,而是通过赋值内容来确定变量类型
- 变量没有类型约束
- 类型取决于关联对象
Python中有内存存储和变量表两部分,Python会先在内存存储空间内创建变量内容,然后在变量表创建变量名,然后将变量名和变量内容进行相关联,
5、变量存储
- 对象有类型,存储在内存区域
- 变量名指向实际对象,变量本身无类型
- 对象本身带有类型描述及引用计数器
6、共享引用
共享引用:多个变量引用同一个对象,即变量的id相同;
- ==判断字面值是否相等
- is判断引用对象地址是否相同;
- Python已经在内存中已经自动缓存好0-255,即定义这些变量,它们的地址是相同的,共享引用;
- 小型字符串也可能被Python缓存
- 通过id(obj)检测对象地址
7、垃圾回收机制
Python自动释放未被引用的对象,通过对象引用计数器统计引用。
8、常用数学函数
1)数学函数
函数 | 描述 |
---|---|
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 |
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的平方根 |
2)随机数函数
随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。
函数 | 描述 |
---|---|
choice(seq) | 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数 |
randrange ([start,] stop [,step]) | 从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1 |
random() | 随机生成下一个实数,它在[0,1)范围内 |
seed([x]) | 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定 |
shuffle(lst) | 将序列的所有元素随机排序 |
uniform(x, y) | 随机生成下一个实数,它在[x,y]范围内 |
3)三角函数
Python包括以下三角函数:
函数 | 描述 |
---|---|
acos(x) | 返回x的反余弦弧度值 |
asin(x) | 返回x的反正弦弧度值 |
atan(x) | 返回x的反正切弧度值 |
atan2(y, x) | 返回给定的 X 及 Y 坐标值的反正切值 |
cos(x) | 返回x的弧度的余弦值 |
hypot(x, y) | 返回欧几里德范数 sqrt(x*x + y*y) |
sin(x) | 返回的x弧度的正弦值 |
tan(x) | 返回x弧度的正切值。 |
degrees(x) | 将弧度转换为角度,如degrees(math.pi/2) , 返回90.0 |
radians(x) | 将角度转换为弧度 |
4)数学常量
函数 | 描述 |
---|---|
pi | 数学常量 pi(圆周率,一般以π来表示) |
e | 数学常量 e,e即自然常数(自然常数) |