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

news/2024/7/19 9:59:02 标签: python, 编程语言, 机器学习, 爬虫, 数值类型

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

简简单单五分钟,教你搞定Python中<a class=数值类型的基础细节" src="https://img-blog.csdnimg.cn/img_convert/abf1afcc732a5faff5f7b7e4391e9c89.png" />

 

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

如何定义数值类型的变量

数值类型的转换

数值类型的操作

简简单单五分钟,教你搞定Python中<a class=数值类型的基础细节" src="https://img-blog.csdnimg.cn/img_convert/afa0fac95170ec6bad38d6d8ba5bd918.png" />

 

如何定义数值类型的变量

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

var1 = 1
var2 = 10.0

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

>>> a = 100
>>> type(a)
<class 'int'>

>>> b = 10**1000
>>> b
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
>>> type(b)
<class 'int'>

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

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

>>> sys.float_info
sys.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
>>> af
inf
>>> af = 1.7976931348623157e+308
>>> af
1.7976931348623157e+308

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

简简单单五分钟,教你搞定Python中<a class=数值类型的基础细节" src="https://img-blog.csdnimg.cn/img_convert/628dbc1d0673252988c6c8290fba1330.png" />

 

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

>>> baf = True
>>> type(baf)
<class 'bool'>
>>> baf + 2
3

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

数值类型的转换

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

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

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

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

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

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

>>> var1 = int(10.02)
>>> var2 = float(var1)
>>> type(var1)
<class 'int'>
>>> type(var2)
<class 'float'>

数值类型的操作

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

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

>>> var1 = 1 + 2
>>> var2 = 1 + 2.0
>>> type(var1)
<class 'int'>
>>> type(var2)
<class 'float'>
>>> var1
3
>>> var2
3.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)
<class 'bool'>

这句指令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_b
6.9
>>> type(a_and_b)
<class 'float'>

>>> a_or_b
3
>>> type(a_or_b)
<class 'int'>

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

结论

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


http://www.niftyadmin.cn/n/1578425.html

相关文章

BOM多层展开,中间半品数量不为1的问题

用户反馈当中间半品数量不为1时&#xff0c;半品下的物料展开时还是按一个半品的数量来展开的。BOM展开内表有三个字段MENGE 组件数量MNGLG 以基本计量单位为准的已计算的组件数量MNGKO 以组件计量单位为准的已计算的组件数量所以多层展开时&#xff0c;应该使用MNGLG是没有问…

labimage 怎样旋转图片_苏教版三年级数学上册6.1平移和旋转微课视频 | 练习

微课视频第一课时微课视频第二课时同步练习1.连一连。升旗时国旗的运动 钟摆的运动风扇叶片的运动 平移 电梯的运动光盘在电脑里的运动 旋转 火车的运动 2.选择汽车在公路上运动时&#xff0c;轮子的运动是( )。A、平…

Python精讲之必备的内置类型-列表,建议收藏

Python提供了list类型来表示数组。你可以使用这种类型来表示多个具有相同结构的实例&#xff0c;比如&#xff1a;你想在程序中存储多个人的联系方式&#xff0c;那么你可以使用list来完成。 本文将从以下几个方面来介绍内置的列表类型&#xff1a; 列表的数据结构列表的常用操…

停车场信息管理系统(C语言)

#include <stdio.h> #include <stdlib.h> #include <string.h>#define MAX 2//车库容量 #define price 0.05//每车每分钟费用typedef struct time//时间结点 {int hour;int min; }Time; typedef struct node {char num[10];Time reach;Time leave; }CarNode;…

xxljob默认登录_XXL-JOB系统化图文教程

1.背景大纲调度任务在系统中中经常用到&#xff0c;比如定时发送营销短信定时检查订单状态等等。。。。。总之我们经常会用到定时任务官方文档&#xff1a;https://www.xuxueli.com/xxl-job/2.必须要理解的两个概念1.我自己的理解&#xff1a;调度中心&#xff1a;通俗的理解就…

月薪五W前辈偷偷告诉我,Python后端工程师这样面试绝对稳

面试其实还是要区分对待的&#xff0c;行内老牛和新人在不同的方向上都有各自的特点&#xff0c;包括老牛们丰富的经验、全面的眼界等等&#xff0c;也包括新人的锐气和新的思维观念。 如果正在Python这条路上愁眉不展的话&#xff0c;可以私信小编我“资料”我收集了不少强力资…

指向结构体变量的指针 学习笔记

#include<stdio.h> void main() {struct stu_type{char num[15];char name[10];int age;int c;int math;int en;int sum;float ave;}stu1{"2011159113","张晓天",22,60,70,75},*p;p&stu1;stu1.sum stu1.c stu1.math stu1.en;stu1.ave (float…

vue 执行函数this_vue中this指向小记

普通函数中的的this指向取决于运行该函数的作用域&#xff0c;而箭头函数的this是定义时就固定了。然而在vue中有一事不明&#xff1a;惊喜点击惊喜点击1var appnew Vue({ el:"#app", data:{}, methods:{ …