今天开始学第二章节第一小节:基本数据类型
第二章:基本数据类型和操作
2.1 基本数据类型 ???????基本数据类型包括数字类型、布尔型、空类型和字符串类型,其中数字类型包括整型(int)、浮点型(float)和复数型(complex)。 ----2.1.1 整型 ???????整型(int类型)用来表示程序中用到的整数。整型数据包括十进制整数、八进制整数、十六进制整数、二进制整数。Python语言中整数的取值范围不受限制,可以表示任意大小的整数。 1、十进制整数的表示
用数码0~9、正负号表示的整数为十进制整数。
【示例2.1.1】32,-7,0 等都是十进制整数。 2、八进制整数的表示
以数字0和字母o或O开头,用数码0~7、正负号表示的整数为八进制整数。以0o或0O开头所表示的数为八进制数,用以区别其他进制的整数。
【示例2.1.2】0o27、0O36、-0o15等都是合法的八进制整数,二0O49是不合法的八进制整数,因为0O49中的数码9超出了数码0~7的表示范围。 3、十六进制整数的表示
以数字0和字母x或X开头,用数码0~9、a~f或A~F、正负号表示的整数为十六进制整数。以0x或0X开头代表所表示的数为十六进制数,用以区别其他进制整数。
【示例2.1.3】0xa8、0X59、-0X39等都是十六进制整数,而0xag、2f等都是不合法的十六进制整数,因为0xag中有符号g,2f前没有以0x开头。 4、二进制整数的表示
以数字0和字母b或B开头,用数码0和1、正负号表示的整数为二进制整数。以0b或0B开头代表所表示的数为二进制数,用以区别其他进制整数。
【示例2.1.4】0b10111、 -0B1101、0b0等都是二进制整数,而0b102是不 合法的二进制整数,因为0b102中有数码2。 【例2.1】将十进制整数365转化为二进制、八进制、十六进制整数。 ???????解:采用除B取余法(我们先把二进制、八进制、十六进制都成为B 进制)。 ???????将十进制365转化为十六进制数:
(详细计算方法可另找百度)我们从高位到低位取余,得到1、6、13,而13在16进制中应表示为d。因此 365=0x16d 。
???????同样方法,可以将365转换为八进制数和二进制数。 ???????另外,由于24=161,23=81,所以,一位十六进制数对应四位二进制数,一位八进制数对应三位二进制数,具体对应关系详见下图。
由于365 = 0x16d,根据对应关系表可以得到 365=0x16d=0b000101101101=0o555
----2.1.2 浮点型 ???????浮点型(float类型)用来表示程序中用到的实数。浮点型数据只有十进制表示,包括小数形式和指数形式。 1、小数形式
???????由数码0~9、正负号、小数点(必须要有小数点)组成的十进制小数表示的实数。
???????小数形式可以用来表示任意大小的实数,但绝对值较大或较小的实数通常不用这种形式来表示,而是用指数形式表示。 【示例2.1.5】3.14、0.271、0.0、0.、.6等都是小数形式的浮点数。 2、指数形式
???????由尾数、字母e或E、阶码三部分组成,其中指数为十进制小数或整数,阶码为-323至308的十进制整数。
???????指数形式可以用来表示任意大小的实数,但通常用来表示绝对值较大或较小的实数。 【示例2.1.6】 ???????3.14159e2表示十进制数3.14159 x 102,31415.9E- 2表示十进制数34159x 10-2它们都表示十进制小数314.159; 1e03表示十进制数1x103,这里的尾数1不能省;而E03、 2e314都是不合法的浮点数,因为E03中缺少尾数; 2e314中阶码超过了阶码的范围。 3、inf 和 nan ???????实际上,不论是用小数形式表示的浮点数,还是用指数形式表示的浮点数,都是有范围的,绝对值最大不能超过 1.797693 x 10308 超过的分别用inf和-inf来表示;绝对值最小不能小于1x 10323,小于的分别用0和-0来表示。 1)正负无穷大的表示 ???????Python使用float(‘inf’)来表示正无穷大(infinity),float(’-inf’)来表示负无穷大。其中inf不区分大小写,float(‘inf’)的值为inf,float(’-inf’)的值为-inf 。 2)非数字的表示 ???????由于两个正无穷大相减或正无穷大与负无穷大相加等算数运算的结果是不确定的,即非数字(not a number),因此,Python用float(‘nan’)来表示非数字,其中的nan不区分大小写,floa(‘nan’)的值为nan 。 【示例2.1.7】inf、-inf、nan 之间的运算
>>> INF = float('inf')
>>> _INF = float('-inf')
>>> NAN = float('nan')
>>> INF + INF
inf
>>> INF - INF
nan
>>> _INF + _INF
-inf
>>> INF + _INF
nan
>>> INF + NAN
nan
>>> NAN + NAN
nan
----2.1.3 复数型 ???????复数型(complex类型),如复数a+bi,在Python中用a+bj或a+bJ来表示。其中,a为复数的实部(real),b为复数的虚部(imag),a和b都是浮点数,j或J为虚数单位,1j和1J等同于数学中的虚数单位 i 。 【示例2.1.8】 2+0.2e2j、5.3-2J、3-0j、1J等都是合法的复数,而2+j、J都是不合法的复数,因为它们缺少虚部。
----2.1.4 布尔型和空值型 1、布尔型(bool类型) ???????布尔类型数据用来描述条件判断的结果,当条件成如时,结果为真;当条件不成立时,结果为假。
???????在Python语言中,布尔类型共有两个值, True用来表示真,False用来表示假。True和False都是关键字,它们都是常量,True对应整数值1,False对应整数值0 。
???????当把其他类型数据作为布尔值使用时,整数0、浮点数0.0、复数0j、空字符串"、空值None等都被认为是False,其他值都被认为是True 。 ???????注意:True和False的第1个字母必须大写,其他字母必须小写。 【示例2.1.9】 使用int()函数查看布尔值对应的整数值。
>>> int(True)
1
>>> int(False)
0
2、空值型(NoneType 类型) ???????空值是Python里的一个特殊值,用None表示。None表示该值是一个空对象,其类型为空值类型NoneType。 None是关键字,是一个常量, None的第1个字母必须大写,其他字母必须小写。 ???????可以将None赋值给任何变量,也可以给None值的变量赋值。
----2.1.5 字符串型 字符串:用单撇号、双撇号或三撇号(即三个单撇号)括起来的字符序列称为字符串(str类型)。字符串中含字符的个数称为该字符串的长度。
字符串可讲的地方很多,如果把字符串的概念和一部分基础的内置函数操作都整理出来的话,又将是一篇长文,所以字符串的相关知识明天单独更新。
结束~
本文参考教材 : 《Python语言程序设计》 / 李学刚主编。 ——北京高等教育出版社,2019.10
???????????????????????????????????2021.8.6
|