内容正文:
举一反三考点练
《Python程序设计》基本数据类型-讲义
1. 掌握整型;
2. 掌握布尔型;
3. 掌握浮点型;
知识点一 整型
1. 定义与表示
整型是Python中表示整数的数据类型,包括正整数、负整数和零,如10、-5、0。Python中整型无大小限制,仅受内存限制,支持任意精度运算。
2. 进制表示
十进制:默认表示,如123。
二进制:以0b或0B开头,如0b1010(十进制10)。
八进制:以0o或0O开头,如0o12(十进制10)。
十六进制:以0x或0X开头,如0xA(十进制10)。
3. 基本运算
算术运算:+(加)、-(减)、*(乘)、/(浮点除)、//(整除)、%(取余)、**(幂运算)。
位运算:&(按位与)、|(按位或)、^(按位异或)、~(按位取反)、<<(左移)、>>(右移)。
4. 类型转换
显式转换:int(x)将其他类型(如浮点数、字符串)转换为整型,如int(3.14)结果为3,int("123")结果为123。
隐式转换:运算中自动提升精度,如3 + 4.5结果为7.5(浮点型)。
5. 常用方法
int.bit_length():返回整型的二进制位数(不含符号位),如5.bit_length()结果为3(二进制101)。
int.to_bytes(length, byteorder, signed=False):将整型转为字节,byteorder为'big'或'little'。
int.from_bytes(bytes, byteorder, signed=False):将字节转为整型。
6. 内置函数
abs(x):返回绝对值。
divmod(a, b):返回(a // b, a % b)元组。
pow(x, y[, mod]):计算x**y,若mod存在则返回x**y % mod。
7. 注意事项
整除//结果为整型,如7 // 2结果为3。
位运算仅适用于整型,操作数需为整数。
字符串转整型时,内容需为合法数字格式,否则报错(如int("abc"))。
(单项选择题) 在Python中,下列哪个选项的写法不是一个合法的整型?( )
A. 0b1010
B. -100
C. 1.23
D. 0x1F
【答案】C
【解析】0b1010是二进制表示,-100是负数,0x1F是十六进制表示,它们都是合法的整型。1.23是浮点型(小数),不是整型。
【要点】考查整型的不同进制表示和与浮点型的区别。
1.(单项选择题) 已知变量 a = 5,b = 2,执行表达式 a // b 的结果是?( )
A. 2.5
B. 2
C. 3
D. 1
【答案】B
【解析】// 是整除运算符,它返回商的整数部分。5除以2等于2.5,其整数部分为2,因此结果为2。
【要点】考查整型的整除运算符 // 的用法。
2.(单项选择题) 下列关于Python整型的说法,错误的是?( )
A. Python的整型没有大小限制,其精度仅受计算机内存大小限制。
B. 使用 int() 函数可以将浮点数 3.99 转换为整型 3。
C. 整型变量可以参与位运算,如按位与 &。
D. 表达式 10 % 3 的计算结果是 3。
【答案】D
【解析】% 是取余运算符,10 % 3 的结果是 10 除以 3 的余数,即 1。选项A、B、C的描述均是正确的。
【要点】考查整型的基本特性、类型转换和算术运算(特别是取余运算)。
3.(判断题) 在Python中,八进制整数必须以 0o 或 0O 作为前缀。( )
【答案】√
【解析】这是Python 3中规定的八进制表示法,以区别于旧版本或其它语言的写法,例如 0o12 表示十进制的10。
【要点】考查整型的八进制表示法。
1.(判断题) int("123") 和 int(123) 执行后得到的结果是相同的。( )
【答案】√
【解析】int("123") 是将字符串"123"转换为整型123,而 int(123) 是将整型123转换为整型123,两者最终结果都是整型对象123。
【要点】考查 int() 函数对不同类型参数的处理。
2.(填空题) 在Python中,计算 2 ** 3 的结果是 __________。
【答案】8
【解析】** 是幂运算符,2 ** 3 表示2的3次方,即 2 × 2 × 2 = 8。
【要点】考查整型的幂运算符 **。
3.(填空题) 执行代码 bin(10) 后,Python返回的结果是 __________。
【答案】'0b1010'
【解析】bin() 是一个内置函数,用于将一个整数转换为其二进制字符串表示,并以 0b 作为前缀。10的二进制是1010。
【要点】考查将整型转换为二进制字符串的内置函数 bin()。
· Python整型无大小限制,支持二、八、十、十六进制表示。
· 整型可进行算术、位运算及与其它类型的转换。
· 内置函数如 int()、bin() 和 pow() 提供了丰富的整型操作支持。
知识点二 布尔型
1. 定义
布尔型是Python的内置数据类型,用于表示逻辑值,仅有两个取值:True(真)和False(假)。
2. 类型与转换
类型:bool,可通过type(True)验证。
转换:
其他类型转布尔型:bool(x),非零数字、非空字符串/列表/字典等转为True,零、空值(None、""、[]、{})转为False。
布尔型转其他类型:int(True)为1,int(False)为0;str(True)为"True"。
3. 运算
逻辑运算:
and:逻辑与,全真为真(True and False→False)。
or:逻辑或,一真为真(True or False→True)。
not:逻辑非,取反(not True→False)。
比较运算:返回布尔值(如3 > 2→True,1 == 2→False)。
4. 应用场景
条件判断(if语句)、循环控制(while循环条件)、函数返回值等。
5. 注意事项
布尔值是int的子类,True可参与算术运算(True + 1→2),但不推荐。
短路求值:and遇假停止,or遇真停止。
(单项选择题) 在Python中,执行 bool(0) 的结果是?( )
A. True
B. False
C. 0
D. 报错
【答案】B
【解析】在Python中,数字0、空字符串、空列表、空字典等空值以及None在转换为布尔型时,结果为False。
【要点】考查其他类型向布尔型的转换规则。
1.(单项选择题) 下列Python表达式中,结果为False的是?( )
A. 5 > 3 and 2 < 4
B. not (10 == 10)
C. True or False
D. bool([1, 2])
【答案】B
【解析】10 == 10的结果是True,not True的结果是False。选项A中and两边都为真,结果为True;选项C中or一边为真,结果为True;选项D中非空列表转换为布尔型为True。
【要点】考查逻辑运算符(not)和比较运算符的综合应用。
2.(单项选择题) 关于Python中的布尔型,下列说法错误的是?( )
A. 布尔型只有True和False两个值
B. bool类型是int类型的子类
C. True在算术运算中等价于1,False等价于0
D. bool("False") 的结果是 False
【答案】D
【解析】任何非空字符串(包括字符串"False")在转换为布尔型时,结果都是True。只有空字符串""会转换为False。
【要点】考查布尔型的基本概念、与整型的关系以及字符串转布尔型的特殊情况。
3.(判断题) 在Python中,表达式 10 and 0 的结果是 0。( )
【答案】√
【解析】and运算符遵循短路求值规则。如果第一个操作数为真(10非零,为真),则表达式的结果为第二个操作数的值,即0。
【要点】考查逻辑运算符and的短路求值特性。
1.(判断题) if语句的条件表达式可以是任何非布尔类型的值,Python会自动将其转换为布尔型进行判断。( )
【答案】√
【解析】Python的条件判断机制会隐式地将条件表达式的结果转换为布尔型。例如,if 0: 不会执行,if "hello": 会执行。
【要点】考查布尔型在条件判断中的应用和类型自动转换。
2.(填空题) Python中,将布尔值False转换为整型的结果是 __________。
【答案】0
【解析】布尔型是整型的子类,True对应1,False对应0。
【要点】考查布尔型与整型之间的转换。
3.(填空题) 表达式 not 3 > 5 的值是 __________。
【答案】True
【解析】先计算比较运算 3 > 5,结果为False。再进行逻辑非运算 not False,结果为True。
【要点】考查比较运算符和逻辑运算符not的优先级及综合使用。
· 布尔型仅有True和False两个值,用于表示逻辑的真与假。
· 任何对象都可通过bool()函数转换为布尔值,空值或零值为False,非空非零值为True。
· 布尔型常用于逻辑运算(and、or、not)和条件判断,控制程序流程。
· 布尔型是整型的子类,True等价于1,False等价于0。
知识点三 浮点型
1. 定义
浮点型用于表示实数(含小数部分的数值),Python中对应float类型,采用IEEE 754双精度浮点数标准(64位存储)。
2. 表示方法
小数形式:如3.14、-0.5。
指数形式:如1.23e4 (、5e-2 (),e或E前后必须有数字,e后为整数。
3. 数值范围
约为()到(),超出范围会引发OverflowError(过大)或结果为0.0(过小)。
4. 精度问题
二进制浮点数无法精确表示某些十进制小数(如0.1),可能存在舍入误差。
示例:0.1 + 0.2 == 0.3结果为False(实际为0.30000000000000004)。
解决方法:使用decimal模块或四舍五入(round())。
5. 类型转换
强制转换:float(3) → 3.0,float("2.5") → 2.5。
隐式转换:整数与浮点数运算时,整数自动转为浮点数(如3 + 1.5 → 4.5)。
6. 常用运算
支持加减乘除、取余(%)、幂运算(**)等,结果仍为浮点型。
示例:10 % 3.0 → 1.0,2.0 ** 3 → 8.0。
7. 特殊值
inf(正无穷)、-inf(负无穷)、nan(非数值,如float('inf') - float('inf'))。
8. 内置函数
round(x, n):四舍五入保留n位小数。
math模块:如math.sqrt(4.0) → 2.0,math.pi(π值)。
9. 注意事项
避免直接比较浮点数相等,用abs(a - b) < 1e-6等近似判断。
科学计算中需注意精度损失,必要时用高精度库(如decimal)。
(单项选择题)下列哪个选项是Python中浮点数的正确指数表示形式?( )
A. 1.5e2.5
B. e10
C. 3.14E-2
D. 2.8 x 10^3
【答案】C
【解析】Python中指数形式的浮点数由“尾数e/E指数”构成,e/E前后必须有数字,且指数必须是整数。选项A的指数是小数,错误;选项B的e前没有数字,错误;选项D的表示形式是数学写法,非Python语法,错误。
【要点】考查浮点数的指数表示法及语法规则。
1.(单项选择题)在Python中,执行表达式 0.1 + 0.2 == 0.3 的结果是什么?( )
A. True
B. False
C. 0.30000000000000004
D. 程序报错
【答案】B
【解析】由于浮点数在计算机中采用二进制存储,无法精确表示某些十进制小数(如0.1),导致计算存在舍入误差。0.1 + 0.2 的实际结果是 0.30000000000000004,与 0.3 不相等,因此比较结果为 False。
【要点】考查浮点数的精度问题及其在比较运算中的影响。
2.(单项选择题)在Python交互环境中,type(10 / 4) 的返回结果是?( )
A. <class 'int'>
B. <class 'float'>
C. <class 'str'>
D. 2.5
【答案】B
【解析】在Python 3中,除法运算符 / 执行的是真除法,即使两个整数相除,结果也会自动转换为浮点数以保证精度。10 / 4 的结果是 2.5,其数据类型为 float。
【要点】考查除法运算符 / 的隐式类型转换规则。
3.(判断题)Python中的浮点数类型(float)可以表示任意大的实数,不会溢出。( )
【答案】×
【解析】Python的浮点数采用IEEE 754双精度标准,其数值范围是有限的(约()到())。当数值超出这个范围时,会引发OverflowError或表示为无穷大(inf)。
【要点】考查浮点数的数值范围限制。
1.(判断题)将整数通过 float() 函数转换为浮点数,例如 float(7),得到的结果是 7.0。( )
【答案】√
【解析】float() 是一个强制类型转换函数,可以将整数、数字字符串等转换为浮点数。整数 7 转换后会添加小数部分,变为 7.0。
【要点】考查 float() 函数的强制类型转换功能。
2.(填空题)在Python中,要表示数学上的“3乘以10的5次方”,应写作 3e5,其对应的十进制数值是________。
【答案】300000.0
【解析】3e5 是浮点数的科学计数法形式,等价于 ( = 300000)。在Python中,科学计数法表示的数默认为浮点型,因此其值为 300000.0。
【要点】考查浮点数指数形式的数值计算。
3.(填空题)由于浮点数存在精度误差,判断两个浮点数 a 和 b 是否“相等”的常用方法是判断它们差的绝对值是否足够小,例如 abs(a - b) < 1e-6。这里的 1e-6 代表的十进制数值是________。
【答案】0.000001
【解析】1e-6 是指数形式的浮点数,表示 (),即 0.000001。这是一个很小的数,常作为浮点数比较的误差容限。
【要点】考查浮点数指数形式的读法及在近似比较中的应用。
· Python浮点型采用IEEE 754标准,存在精度误差,比较时需注意。
· 浮点数支持小数与指数两种表示形式,但数值范围有限。
· 整数与浮点数混合运算时,结果会自动提升为浮点型。
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$