Python数值类型?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
实际开发中,我们经常需要使用数字记录游戏中用户的得分,游戏中角色的生命值,伤害值等信息,Python 语言提供了数值类型用于保存这些数值。
需要注意的是,Python中这些数值类型都是不可改变的,也就是说,如果我们要修改数字类型变量的值,那么其底层实现的过程是,先将新值存放到内存中,然后修改变量让其指向新的内存地址,换句话说,Python中修改数值类型变量的值,其实只是修改变量名所表示的内存空间。
数值类型只是一个泛泛的统称,Python中的数值类型主要包括整形,浮点型和复数类型。
<强> Python整型强>
整形专门用来表示整数,即没有小数部分的数,在Python中,整数包括正整数,0和负整数。
和其他强类型语言不同,它们会提供多种整形类型,开发者要根据数值的大小,分别用不同的整形类型存储,以C语言为例,根据数值的大小,开发者要合理选择,int,长整形类型存储,大大增加了开发难度。
Python则不同,它的整型支持存储各种整数值,无论多大或者多小,Python都能轻松处理(当所用数值超过计算机自身的计算功能时,Python会自动转用高精度计算)。
例如如下代码:
#定义变量,赋值为56 a =56 print () #为赋值一个大整数 a =9999999999999999999999 print () #类型()函数用于返回变量的类型 打印(type (一)
对于没有编程基础的读者,同样可以在交互式解释器中逐行“试验”上面程序来观看运行效果。由于篇幅限制,本教程后面的程序不再详细列出在交互式解释器中逐行“试验”的过程。
上面程序中,将9999999999999999999999大整数赋值给变量,Python也不会发生溢出等问题,程序运行一样正常,这足以证明Python的强大。
使用Python 3。x运行上面程序,可以看到如下输出结果:
56 9999999999999999999999 & lt; class & # 39; int # 39;在
从上面的输出结果可以看的出,此时一个依然是int类型。
但如果用Python 2。x运行上面程序,由于输入的数值比较大,Python会自动在其后面加上字母L(或小写字母L),如下输出结果:
56
9999999999999999999999 L
& lt;类型& # 39;长# 39;在
对比两种输出结果,不难发现:不管是Python 3。x还是Python 2。x, Python完全可以正常处理很大的整数,只是Python 2。x底层会将大整数当成长类型处理,但开发者通常不需要理会这种细节。
除此之外,Python的整型还支持任何值(空值),例如如下代码:
a =,没有 打印(a), #什么都不输出
Python的整型数值有4种表示形式:十进制形式:最普通的整数就是十进制形式的整数,在使用十进制表示整数值时,不能以0(零)作为十进制数的开头(数值是,0除外)。二进制形式:由0和1组成,以0 b或0 b开头。例如,101年对应十进制数是5,八进制形式:八进制整数由0 ~ 7组成,以O或0开阿头(第一个字母是零,第二个字母是大写或小写的O)。需要注意的是,在Python 2。x中,八进制数值还可以直接以0(零)开头。十六进制形式:由0 ~ 9以及A ~ F(或A ~ F)组成,以0 x或0 x 开头,
下面代码片段使用了其他进制形式的数:
#以0 x或0 x开头的整型数值是十六进制形式的整数 hex_value1 =0 * 13 hex_value2 =0 xaf print (“hexValue1 的值为:“,hex_value1) print (“hexValue2 的值为:“,hex_value2) #以0 b或0 b开头的整型数值是二进制形式的整数 bin_val =0 b111 打印(& # 39;bin_val的值为:& # 39;,bin_val) bin_val =0 b101 打印(& # 39;bin_val的值为:& # 39;,bin_val) #以o或0开阿头的整型数值是八进制形式的整数 oct_val =0 o54 打印(& # 39;oct_val 的值为:& # 39;,oct_val) oct_val =0 o17 打印(& # 39;oct_val 的值为:& # 39;,oct_val)
为了提高数值(包括浮点型)的可读性,Python 3。x允许为数值(包括浮点型)增加下画线作为分隔符。这些下画线并不会影响数值本身。例如如下代码:
#在数值中使用下画线 one_million =1000000 打印(one_million) 时间=price 234 _234_234 # price 实际的值为234234234 android =, 12341234, # android 实际的值为12341234Python数值类型