数据类型初识
数字
|
int(整型)
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
complex(复数)
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注:Python中存在小数字池:-5 ~ 257
算术运算
运算符 +
,-
,*
和 /
与其它语言一样(例如:Pascal 或 C);括号 (()
) 用于分组。
1 >>> 2 + 2 2 4 3 >>> 50 - 5*6 4 20 5 >>> (50 - 5*6) / 4 6 5.0 7 >>> 8 / 5 # division always returns a floating point number 8 1.6
整数(例如,2
, 4
, 20
)的类型是 int,带有小数部分的数字(例如,5.0
, 1.6
)的类型是 float。
除法(/
)永远返回一个浮点数。如要使用 floor 除法并且得到整数结果(丢掉任何小数部分),你可以使用 //
运算符;要计算余数你可以使用 %。
1 >>> 17 / 3 # classic division returns a float 2 5.666666666666667 3 >>> 4 >>> 17 // 3 # floor division discards the fractional part 5 5 6 >>> 17 % 3 # the % operator returns the remainder of the division 7 2 8 >>> 5 * 3 + 2 # result * divisor + remainder 9 17
使用 **
运算符计算幂乘方:
1 >>> 5 ** 2 # 5 squared 2 25 3 >>> 2 ** 7 # 2 to the power of 7 4 128
等号( '='
)用于给变量赋值。赋值之后,在下一个提示符之前不会有任何结果显示:
1 >>> width = 20 2 >>> height = 5*9 3 >>> width * height 4 900
整数和浮点数的混合计算中,整数会被转换为浮点数:
1 >>> 3 * 3.75 / 1.5 2 7.5 3 >>> 7.0 / 2 4 3.5
交互模式中,最近一个表达式的值赋给变量 :
1 >>> tax = 12.5 / 100 2 >>> price = 100.50 3 >>> price * tax 4 12.5625 5 >>> price + _ 6 113.0625 7 >>> round(_, 2) 8 113.06
此变量对于用户是只读的。不要尝试给它赋值 —— 你只会创建一个独立的同名局部变量,它屏蔽了系统内置变量的魔术效果。