简简单单五分钟,教你搞定Python中数值类型的基础细节

前面介绍了程序的流程控制,除此之外,你还需要在程序中表达数据,而为了表达数据,Python提供了各种数据类型。本文将介绍内置类型-Number,它用于表示数值类型,比如整数或实数。

本文将从以下几个方面来介绍Python中的数值类型:

如何定义数值类型的变量

数值类型的转换

数值类型的操作

如何定义数值类型的变量

Python内置了许多数值类型,这些类型中,常用的数值类型有int和float。你可以通过以下方式创建一个数值变量:

var1=1var2=10.0

var1是int类型的变量,它对应数学中的整数,它的范围是(-inf, inf),即无穷大,下面的例子说明了这一点:

>>> a =100>>> type(a)>>> b =10**1000>>> b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000>>> type(b)

其中a和b均是整数,然而后者是一个非常大的整数。10**1000是指10的1000次方。也就是说Python中的int试图在模拟数学中的整数。

var2是float类型的变量,它对应数学中的实数,你可以通过运行下面指令来查看它的范围:

>>> sys.float_infosys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308,min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)

以上输出包含了max和min信息,如果你输入一个比前者大的值,则输出结果会变成inf,示例如下所示:

>>> af =1.7976931348623157e+309>>> afinf>>> af =1.7976931348623157e+308>>> af1.7976931348623157e+308

另外,float类型的变量是有精度限制的(最多16位),因此如果你需要使用更高精度的实数,那么可以考虑使用Python自带的decimal模块。

除了以上数字类型之外,还有一个比较常见的数值类型:bool,它常常用于条件语句,虽然它的输出类型是bool,但是实际上它的内部数据是整型:

>>> baf = True>>> type(baf)>>> baf +23

以上就是Python中常用的数值类型,它们分别是int,float和bool,这些类型几乎会出现在各种编程场景,因此也是必须掌握的。

数值类型的转换

有时,你需要将数值类型转换成其它类型,比如str,或者数值类型之间想要相互转换。Python也提供了这些能力。

以下是数值类型转换成str类型的示例:

>>> str1 = str(3)>>> str2 = str(3.14)>>> str1'3'>>> str2'3.14'>>> type(str1)

以下是str类型转换成数值类型的示例:

>>> var1 = int('1')>>> var2=float('10.0')>>> var11>>> type(var1)

以下是float类型与int类型互转的示例:

>>> var1 = int(10.02)>>> var2 = float(var1)>>> type(var1)>>> type(var2)

数值类型的操作

定义了数值类型的变量之后,接下来就可以对这些变量进行操作了,比如加,减,乘,除,取模等等。

以下是对2个数值类型进行相加的操作:

>>> var1 =1+2>>> var2 =1+2.0>>> type(var1)>>> type(var2)>>> var13>>> var23.0

需要注意的是,2个不同类型相加,其中范围更小的类型会自动向范围更大的类型转换。比如上面的例子,var1可以由float来表示,因此该变量由int类型转换成float类型,然后再与2.0相加。

也可以使用比较操作符来比较2个数值类型的变量,比如,下面的例子说明了这一点:

>>> a =2>>> b =3.0>>> is_a_great_than_b = a > b>>> print("a > b") if is_a_great_than_b else  print("a <= b")a <= b>>> type(is_a_great_than_b)

这句指令is_a_great_than_b = a > b比较了a和b,比较的结果是True。

除此之外,你还可以使用逻辑运算符来作用到数值类变量,具体例子如下所示:

>>> a =3>>> b =6.9>>> a_and_b = a and b>>> a_or_b = a or b>>> a_and_b6.9>>> type(a_and_b)>>> a_or_b3>>> type(a_or_b)

从上面的输出结果可知,and和or运算符并不是简单地输出True或False,而是把原来的变量值返回。

结论

以上内容便是Python中数值类型的基础,所以你必须学会如何定义和使用数值类型变量。数值类型的变量允许我们能够以计算机的方式刻画现实世界中的物体,比如我们想在计算机里定义一个人,那么这个人至少需要使用一个属性,比如年龄(Age)来表示,在计算机里,我们可以定义一个int类型的变量,叫Age来表示一个人的年龄。除此之外,每个人都有对应的名字,那么在计算机里如何表示一个名字呢?这就是接下来要介绍的字符串类型。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文章注意介绍的内容: 1.变量(1)变量的基本介绍(2)变量的赋值2.基本数据类型基本数据类型有6个数字(num...
    可乐W阅读 3,493评论 0 0
  • Python中变量和C++或java等其他语言中的变量是十分相似的,创建变量后会在内存中开辟一块空间来存储变量,变...
    向前奔跑的多欢喜阅读 1,090评论 0 0
  • 1. Python 变量类型 变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类...
    张松贵阅读 3,073评论 0 0
  • 一、简介 Python3中有六个标准的数据类型:字符串(String)数字(Digit)列表(List)元组(Tu...
    唯老阅读 4,241评论 0 6
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 11,041评论 0 5

友情链接更多精彩内容