变量与常量
变量
变量可以是任意数据类型,在程序中用一个变量名表示
变量命名规则:
必须是大小写英文、数字和_的组合,且不能用数字开头,单独一个下划线也可以作为变量名,如: _='abc'
但至于如何用英文,数字及下划线来命名,python并没有强制约束,具体的命名规则请参照"命名规则"
在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量
这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言
静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错,如java
int a = 123; // a是整数类型变量
a = "ABC"; // 错误:不能把字符串赋给整型变量
和静态语言相比,动态语言更灵活,就是这个原因
变量在计算机内存中的表示
当Python执行a = 'ABC',Python解释器会执行以下操作
1) 在内存中开辟了一块地址,用于存储字符串'ABC'
2) 在内存中又开辟了一块地址,将其命名为变量a,存储的是第一步字符串'ABC'的存储地址
也可把一个变量a赋值给另一个变量b,这个操作实际上是让变量b指向变量a所指向的数据,若改变a的指向是不会改变b的指向的
常量
常量就是不能变的变量,如常用的数学常数π就是一个常量,PI = 3.14159265359
在Python中,通常用全部大写的变量名表示常量,但常量实际上是可以被改变的,Python根本没有任何机制保证PI不会被改变
关于除法
Python中的几种除法:
1) 使用/,该除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数,因此要做精确的除法,使用/就可以
print(10 / 3) #输出:3.3333333333333335 print(9 / 3) #输出:3.0
2) 使用//,该除法称为地板除,两个整数地板除后仍是整数,即使除不尽
print(10 // 3) #输出:3
3) 使用%,该除法可得到两个整数相除的余数
print(10 % 3) #输出:1
无论整数做//除法还是取余数,结果永远是整数,所以,整数运算结果永远是精确的