Python数值类型(整形、浮点型和复数)及其用法

数值类型是计算机程序中最常用的类型。它不仅可以用来记录各种游戏的分数、游戏角色的生命值和伤害值,还可以记录各种物品的价格和数量,Python 支持整型、浮点型、复数等各种数值类型。
Python整形
Python 3 无论是小整数值还是大整数值,整型都支持各种整数值,Python 可以很容易地处理(不像某些语言,short、int、long 等整形增加了开发难度)。
例如,以下代码:
#将变量a定义为56 a=56 print(a) #赋值a一个大整数 a=9999999999999999999999 print(a) #type()用于返回变量的函数类型 print(type(a))
上述程序中的粗体字代码 9999999999999999999999 大整数赋值变量 a,Python 溢出等问题不会发生,程序运行正常,也就是说 Python 魅力:不要搞那些乱七八糟的底层细节,非专业人士也不在乎字节等细节。
使用 Python 3.x 在操作上述程序时,可以看到以下输出结果:
56 9999999999999999999999 <class'int'>
从上述输出结果可以看出,此时 a 依然是 int 类型。
但如果用 Python 2.x 在操作上述程序时,可以看到以下输出结果:
56 9999999999999999999999 <type'long'>
对比两种输出结果,不难发现:无论是否 Python 3.x 还是 Python 2.x,Python 很大的整数可以正常处理,但是 Python 2.x 大整数将被视为底层 long 类型处理,但开发者通常不需要注意细节。
Python 的整型支持 None 例如,以下代码是值(空值):
a=None print(a)
Python 整形值有 4 十进制形式:最常见的整数是十进制形式的整数。二进制形式:以 0b 或 0B 开头的整数是二进制形式的整数。八进制形式:以 0o 或 0O 开头的整数是八进制形式的整数(第二个字母是大写或小写的) O)。十六进制形式:以 0x 或 0X开头的整数是16进制形式的整数,其中 10~15 分别以 a~f( 此处的 a~f 不区分大小写)来表示。
以下代码片段使用其它进制形式的数字:
#以0x或0x开始的整形值为16进制形式的整数
hex_value1=0x13
hex_value2=0xa
print("hexvalue1的值为:",hex_value1)
print("hexvalue2的值为:",hex_value2)
#以0b或0b开始的整形值为二进制形式的整数
bin_val=0b111
print('bin_val值为:',bin_val)
bin_val=0B101
print('bin_val值为:',bin_val)
#以0o或0o开头的整形值为八进制形式的整数
oct_val=0o54
print('oct_val值为:',oct_val)
oct_val=0O17
print('oct_val值为:',oct_val)为提高数值(包括浮点型)的可读性,Python 3.x 允许将下画线作为分隔符添加到数值(包括浮点型)中。这些下画线不会影响数值本身。例如,以下代码:
#下画线用于数值中 one_million=1000000 print(one_million) price=234_234_234#price的实际值为234234 android=12341234#android的实际值为123412344。
Python浮点型
用于保存带小数点的浮点值,Python 浮点数有两种表示形式:
十进制形式:这种形式通常是简单的浮点数,例如 5.12、512.0、0.512。浮点必须包含一个小数点,否则将被视为整数类型。
例如,科学计数形式 5.12e2(即 5.12×102)、5.12E2(也是 5.12 ×102)。
必须指出的是,只有浮点值才能以科学计数的形式表示。例如 51200 是整形值,但是 512E2 是浮点型值。
Python 不允许除以 0 。无论是整形值还是浮点值,Python 不允许除以 0。
下面的程序展示了上面介绍的浮点数的知识点:
af1=5.2345556
#输出af1的值
print("af1的值为:",af1)
af2=25.2345
print("af2的类型如下:",type(af2))
f1=5.12e2
print("f1的值为:",f1)
f2=5e3
print("f2的值为:",f2)
print("F2的类型如下:",type(f2)#float的类型从最后一行粗体字代码可以看出,虽然 5e3 的值是 5000,但它仍然是浮点型值,而不是整形值,因为 Python 这个值会自动变成 5000.0。
复数
Python 它甚至可以支持复数和复数的虚拟部分 j 或 J 来表示。
以下程序演示了复数的用法:
ac1=3+0.2j print(ac1) print(type(ac1)#输出复数类型 ac2=4-0.1j print(ac2) #复数运行 print(ac1+ac2)#输出(7+0.1)j) #导入cmath模块 importcmath #sqrt()cmath模块下的商数用于计算平方根 ac3=cmath.sqrt(-1) print(ac3)#输出1j
