Python数值类型

  

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 实际的值为12341234

Python数值类型