内容正文:
举一反三考点练
《Python程序设计》函数与模块-讲义
1.掌握内置函数;
2.掌握math模块;
3.理解datetime模块;
知识点一 内置函数
一、定义
Python内置函数是解释器直接提供的函数,无需导入模块即可调用,覆盖常用操作(如类型转换、数学运算、序列处理等)。
二、分类与核心函数
1. 类型转换函数
int(x): 将x转换为整数(浮点数截断小数,字符串需为数字格式)。
float(x): 将x转换为浮点数。
str(x): 将x转换为字符串。
bool(x): 将x转换为布尔值(非零/非空为True,否则False)。
list(x): 将可迭代对象x转换为列表。
tuple(x): 将可迭代对象x转换为元组。
dict(x): 将包含键值对的序列(如列表嵌套元组)转换为字典。
2. 数学运算函数
abs(x): 返回x的绝对值。
pow(x, y): 返回x的y次方(等价于x**y)。
round(x, n): 对x四舍五入,保留n位小数(n默认为0)。
max(iterable)/min(iterable): 返回可迭代对象的最大/最小值。
sum(iterable): 返回可迭代对象(元素为数字)的和。
3. 序列操作函数
len(s): 返回序列s(字符串、列表、元组等)的长度。
range(start, stop, step): 生成整数序列(左闭右开,step默认为1)。
enumerate(iterable): 返回索引-值对(常用于循环遍历)。
zip(*iterables): 将多个可迭代对象按索引打包成元组(长度以最短为准)。
4. 输入输出函数
print(*objects, sep=' ', end='
'): 输出对象,sep为分隔符,end为结束符。
input(prompt): 接收用户输入,返回字符串(prompt为提示信息)。
5. 其他常用函数
type(x): 返回x的数据类型。
isinstance(x, type): 判断x是否为指定类型(返回True/False)。
id(x): 返回x的内存地址。
help(x): 查看x的帮助文档。
三、特点
无需导入:直接调用,如print("Hello")。
高效便捷:简化基础操作,避免重复造轮子。
全局可用:在程序任何位置均可使用。
四、注意事项
部分函数参数要求严格(如int("abc")会报错)。
可通过dir(__builtins__)查看所有内置函数。
(单项选择题) 在Python中,要将字符串"123.45"转换为浮点数类型,应该使用哪个内置函数?( )
A. int()
B. float()
C. str()
D. bool()
【答案】B
【解析】float()函数用于将一个数字或字符串转换为浮点数。int()函数转换为整数,str()转换为字符串,bool()转换为布尔值。直接使用int("123.45")会因无法解析小数点而报错。
【要点】考查类型转换函数float()的基本用法。
1.(单项选择题) 执行以下代码后,变量result的值是多少?
my_list = [10, 20, 30, 40, 50]
result = sum(my_list[1:4])
A. 30
B. 90
C. 100
D. 150
【答案】B
【解析】首先,my_list[1:4]进行切片操作,得到包含索引1到3(左闭右开)元素的新列表[20, 30, 40]。然后,sum()函数对该列表求和,计算结果为20 + 30 + 40 = 90。
【要点】考查序列切片与数学运算函数sum()的综合应用。
2.(单项选择题) 在一个for循环中,如果需要同时获取列表的索引和对应的值,最简洁的方式是使用哪个内置函数?( )
A. range()
B. len()
C. zip()
D. enumerate()
【答案】D
【解析】enumerate()函数用于将一个可遍历的数据对象(如列表、元组)组合为一个索引序列,同时列出数据和数据下标,常在for循环中使用。range()生成数字序列,len()获取长度,zip()用于打包多个可迭代对象。
【要点】考查序列操作函数enumerate()在循环遍历中的典型应用。
3.(判断题) Python内置函数pow(x, y)的功能是计算x的y次方,它与表达式x ** y的结果完全相同。( )
【答案】√
【解析】pow(x, y)是Python提供的内置函数,用于计算幂运算,其功能与算术运算符**完全等价。例如,pow(2, 3)和2 ** 3的结果都是8。
【要点】考查数学运算函数pow()的功能及其与运算符的等价性。
1.(判断题) 使用input()函数从键盘获取的用户输入,无论输入什么内容,其返回值的数据类型都是字符串。( )
【答案】√
【解析】input()函数是Python的标准输入函数,它始终将用户从键盘输入的内容作为一个字符串返回。如果需要进行数值计算,必须先用int()或float()等函数进行类型转换。
【要点】考查输入函数input()的返回值类型特性。
2.(填空题) 在Python中,要查看一个对象x的具体数据类型,可以使用内置函数 ______。
【答案】type() 或 type
【解析】type()函数是Python中用于获取对象类型的内置函数。例如,type(123)会返回<class 'int'>,type("hello")会返回<class 'str'>。
【要点】考查常用内置函数type()的功能。
3.(填空题) 已知a = [1, 2],b = [3, 4],执行语句c = list(zip(a, b))后,变量c的值是 ______。
【答案】[(1, 3), (2, 4)]
【解析】zip()函数将多个可迭代对象中对应位置的元素打包成一个个元组。zip(a, b)会生成一个迭代器,产生元组(1, 3)和(2, 4)。list()函数再将这个迭代器转换为列表,最终结果为[(1, 3), (2, 4)]。
【要点】考查序列操作函数zip()和list()的联合使用。
· Python内置函数是解释器自带、无需导入即可直接调用的函数。
· 内置函数覆盖了类型转换、数学运算、序列处理等常用操作。
· 通过len()、sum()、zip()等函数可高效处理序列数据。
· input()函数返回值恒为字符串,常需配合int()或float()进行类型转换。
知识点二 math模块
1. 模块导入
import math # 导入math模块,使用时需加前缀(如math.sqrt())
2. 数学常数
math.pi:圆周率π(≈3.14159)
math.e:自然常数e(≈2.71828)
math.inf:正无穷大
math.nan:非数值(Not a Number)
3. 数值运算函数
幂与对数
math.pow(x, y):返回x的y次幂(等价于x**y)
math.sqrt(x):返回x的平方根(x≥0)
math.log(x, base):返回以base为底的对数(默认base=e,即自然对数)
math.log10(x):返回以10为底的对数
math.exp(x):返回e的x次幂
取整与绝对值
math.ceil(x):向上取整(返回≥x的最小整数)
math.floor(x):向下取整(返回≤x的最大整数)
math.fabs(x):返回x的绝对值(浮点数)
三角函数(参数为弧度)
math.sin(x)、math.cos(x)、math.tan(x):正弦、余弦、正切
math.asin(x)、math.acos(x)、math.atan(x):反正弦、反余弦、反正切
math.degrees(x):弧度转角度
math.radians(x):角度转弧度
4. 其他常用函数
math.factorial(n):返回n的阶乘(n为非负整数)
math.gcd(a, b):返回a和b的最大公约数
math.fmod(x, y):返回x/y的余数(浮点数,符号与x相同)
math.hypot(x, y):返回√(x²+y²)(欧几里得距离)
5. 注意事项
所有函数参数需为数值类型(int/float),否则报错TypeError。
三角函数参数默认为弧度,需用radians()转换角度。
对数函数log(x)要求x>0,否则报错ValueError。
(单项选择题) 在Python中,若要使用math模块中的sqrt()函数,正确的导入方式是?( )
A. from math import sqrt
B. import sqrt from math
C. import math.sqrt
D. include math
【答案】A
【解析】在Python中,从模块中导入特定函数有两种标准方式:import math(使用时需math.sqrt())或from math import sqrt(可直接使用sqrt())。选项A是正确的导入语法。选项B和C语法错误,选项D不是Python的导入关键字。
【要点】考查math模块的正确导入方法。
1.(单项选择题) 执行math.floor(-3.7)和math.ceil(-3.7)后,得到的结果分别是?( )
A. -3.0 和 -4.0
B. -4.0 和 -3.0
C. -4 和 -3
D. -3 和 -4
【答案】B
【解析】math.floor(x)是向下取整,返回不大于x的最大整数,因此math.floor(-3.7)为-4.0。math.ceil(x)是向上取整,返回不小于x的最小整数,因此math.ceil(-3.7)为-3.0。注意math模块的取整函数返回的是浮点数类型。
【要点】考查floor()和ceil()函数对负数的处理规则。
2.(单项选择题) Python的math模块中,用于计算以10为底的对数的函数是?( )
A. math.log(x, 10)
B. math.log10(x)
C. math.lg(x)
D. math.log(x)
【答案】B
【解析】math.log10(x)是math模块专门提供的用于计算常用对数(以10为底)的函数。选项A虽然也能得到正确结果,但不是最直接、最常用的函数。选项C和D在math模块中不存在或功能不符(math.log(x)默认计算自然对数)。
【要点】考查math.log10()函数的功能和用途。
3.(判断题) math模块中的三角函数(如math.sin())的参数单位是角度,而不是弧度。( )
【答案】×
【解析】math模块中的所有三角函数(如sin, cos, tan)及其反函数,其参数和返回值均以弧度为单位。若要使用角度,需先用math.radians()函数进行转换。
【要点】考查math模块三角函数的参数单位。
1.(判断题) math.pow(2, 3)的返回值类型与2 ** 3的返回值类型完全相同。( )
【答案】×
【解析】math.pow(x, y)总是返回一个浮点数,因此math.pow(2, 3)的结果是8.0。而Python的内置运算符**会根据操作数返回最合适的类型,2 ** 3的结果是整数8。两者的返回值类型不同。
【要点】考查math.pow()函数与**运算符的返回值类型差异。
2.(填空题) 已知变量x = -5,使用math模块中的函数计算其绝对值的表达式是 ________________,其结果为 ________________。
【答案】math.fabs(x) 或 math.fabs(-5);5.0
【解析】math模块中用于计算绝对值的函数是math.fabs(),它总是返回一个浮点数。因此,math.fabs(-5)的结果是5.0。
【要点】考查math.fabs()函数的功能和返回值类型。
3.(填空题) 在math模块中,代表自然常数e的属性是 ________________,代表圆周率π的属性是 ________________。
【答案】math.e;math.pi
【解析】math模块内置了两个常用的数学常数:自然常数e(约等于2.71828)通过math.e访问,圆周率π(约等于3.14159)通过math.pi访问。
【要点】考查math模块中常用数学常数的表示方法。
· math模块需先导入再使用,提供了丰富的数学常数(如math.pi)和函数。
· 其数值运算函数涵盖幂、对数、取整及三角运算,且三角函数参数单位为弧度。
· math模块函数对参数类型有严格要求,且返回值通常为浮点数类型。
· 该模块是Python进行科学计算和复杂数学操作的基础工具。
知识点三 datetime模块
1. 模块概述
datetime模块是Python标准库中用于处理日期和时间的核心模块,提供了日期、时间以及时间间隔的计算和格式化功能。
2. 主要类
date类:表示日期(年、月、日),属性:year、month、day。
time类:表示时间(时、分、秒、微秒),属性:hour、minute、second、microsecond。
datetime类:日期和时间的组合,继承date和time的属性。
timedelta类:表示时间间隔(如天数、秒数),用于日期时间运算。
tzinfo类:时区信息的抽象基类(需配合第三方库如pytz使用)。
3. 常用方法
获取当前时间:
datetime.now():返回本地当前datetime对象。
datetime.utcnow():返回UTC当前datetime对象。
构造对象:
date(2025, 10, 26):创建日期对象。
datetime(2025, 10, 26, 17, 31, 37):创建日期时间对象。
格式化与解析:
strftime(format):将日期时间转为字符串(如"%Y-%m-%d %H:%M:%S")。
strptime(string, format):将字符串解析为datetime对象。
时间运算:
timedelta(days=1, hours=2):创建时间间隔。
datetime1 + timedelta:日期时间加减运算。
4. 关键属性
datetime对象可通过.year、.month等属性直接访问年、月、日等值。
5. 注意事项
日期时间对象不可变,运算返回新对象。
时区处理需依赖tzinfo子类或第三方库。
总结:datetime模块通过date、time、datetime、timedelta类实现日期时间的创建、运算、格式化,是Python处理时间相关任务的基础工具。
(单项选择题) 在Python的datetime模块中,要获取当前本地日期和时间,应使用哪个方法?( )
A. datetime.today()
B. datetime.now()
C. datetime.utcnow()
D. date.now()
【答案】B
【解析】datetime.now()用于返回表示当前本地日期和时间的datetime对象。datetime.today()功能类似,但now()是更常用的标准方法。datetime.utcnow()返回的是UTC(协调世界时)时间。date类没有now()方法。
【要点】考查获取当前日期和时间的方法。
1.(单项选择题) 已知一个datetime对象 dt = datetime(2025, 10, 26, 17, 30, 0),要将其格式化为 "2025-10-26 17:30:00" 形式的字符串,应使用哪个代码?( )
A. dt.format("%Y-%m-%d %H:%M:%S")
B. dt.strptime("%Y-%m-%d %H:%M:%S")
C. dt.strftime("%Y-%m-%d %H:%M:%S")
D. str(dt)
【答案】C
【解析】strftime()方法用于将datetime对象格式化为指定格式的字符串。strptime()是datetime类的类方法,用于将字符串解析为datetime对象,功能相反。format()不是datetime对象的方法。str(dt)会返回一个默认格式的字符串。
【要点】考查datetime对象的格式化输出方法strftime()。
2.(单项选择题) datetime模块中的timedelta类主要用于什么?( )
A. 表示特定的日期,如2025年10月26日
B. 表示特定的时间,如17:30:00
C. 表示两个日期或时间之间的间隔,如3天5小时
D. 表示时区信息
【答案】C
【解析】timedelta类专门用于表示时间间隔或时长,即两个时间点之间的差值。它常用于日期时间的加减运算。date类表示日期,time类表示时间,tzinfo类是时区信息的基类。
【要点】考查timedelta类的作用和用途。
3.(判断题) datetime模块中的date对象包含了年、月、日、时、分、秒信息。( )
【答案】×
【解析】date类仅用于表示日期(年、月、日),不包含时间信息(时、分、秒)。同时包含日期和时间信息的是datetime类。
【要点】考查date类与datetime类的区别。
1.(判断题) 通过datetime模块创建的对象(如date、datetime)是可变的,可以直接修改其年份属性。( )
【答案】×
【解析】datetime模块中的所有日期和时间对象都是不可变的。这意味着一旦创建,就不能修改其属性值。任何看似“修改”的操作(如加一天)实际上都会返回一个新的对象。
【要点】考查datetime模块对象的不可变性。
2.(填空题) 要计算三天后的日期,可以先创建一个timedelta对象,然后将其与当前的date对象相加。请补全代码:
from datetime import date, timedelta
today = date.today()
future_date = today + _________
【答案】timedelta(days=3)
【解析】timedelta对象用于表示时间差,可以通过关键字参数如days、hours等指定时长。将timedelta对象与date或datetime对象相加,可以得到一个新的、表示未来时间点的对象。
【要点】考查使用timedelta进行日期时间运算。
3.(填空题) 要将字符串 "2025-10-26" 解析为一个date对象,可以使用datetime模块中的date类的类方法 _________。
【答案】strptime
【解析】strptime(string, format) 是datetime类的一个类方法,用于根据指定的格式字符串将一个字符串解析为datetime对象。如果只需要日期部分,可以通过.date()方法提取。虽然date类本身没有strptime,但通常通过datetime.strptime()实现,这是最标准的解析方式。
【要点】考查将字符串解析为日期时间对象的方法。
· datetime模块通过date、time、datetime类分别表示日期、时间和日期时间的组合。
· strftime和strptime方法用于实现日期时间对象与字符串之间的格式化和解析。
· timedelta类专门用于表示时间间隔,并支持日期时间的加减运算。
· datetime模块中的所有日期时间对象均为不可变对象,任何运算都会返回新对象。
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$