Python编程复习笔记
第一部分:基础语法与数据类型
1. 数据类型转换
-
隐式类型转换:解释器自动完成,主要用于数学运算
n = 3 m = 2.4 print(m + n) # 自动将int转换为float -
显式类型转换:程序员明确指定转换
int("123") # √ 成功转换 int("abs") # × 转换失败报错
2. 基本数据类型
| 类型 | 说明 | 示例 |
|---|---|---|
| int | 整数型 | n = 123 |
| float | 浮点数 | f = 3.14 |
| str | 字符串 | s = "hello" |
| bool | 布尔型 | b = True |
| list | 列表 | lst = [1, 2, 3] |
| tuple | 元组 | tup = (1, 2, 3) |
| dict | 字典 | dic = {"a": 1} |
| set | 集合 | s = {1, 2, 3} |
第二部分:流程控制
1. 分支语句
# if-elif-else结构
if 表达式1:
# 表达式1成立执行
elif 表达式2:
# 表达式2成立执行
else:
# 以上都不成立执行
# match-case结构(Python 3.10+)
match n:
case 1:
print("111")
case 2 | 3 | 4:
print("n的值为2或3或4")
case _:
print("默认情况")
2. 循环语句
# while循环
i = 1
while i < 5:
print(i)
i += 1
# for循环
for i in range(5):
print(i)
# 循环控制
break # 终止当前循环
continue # 跳过本次循环
pass # 空语句
第三部分:数据结构详解
1. 字符串操作
s = "hello world"
print(s.find('l')) # 查找子串
print(s.upper()) # 转大写
print(s.startswith("he")) # 判断开头
print(s.split()) # 分割字符串
2. 列表操作
lst = [1, 2, 3]
lst.append(4) # 添加元素
lst.insert(1, 5) # 插入元素
lst.remove(2) # 删除元素
lst.sort() # 排序
3. 字典操作
dic = {"name": "zs", "age": 22}
print(dic["name"]) # 访问值
dic["age"] = 23 # 修改值
dic["city"] = "Beijing" # 添加键值对
print(dic.keys()) # 获取所有键
第四部分:函数与模块
1. 函数定义
def 函数名(参数1, 参数2=默认值):
"""函数文档字符串"""
# 函数体
return 返回值
2. 参数传递
-
位置传参:按参数顺序传递
-
关键字传参:指定参数名传递
-
默认参数:参数有默认值
-
不定长参数 :
*args(元组),**kwargs(字典)
3. 异常处理
try:
# 可能出错的代码
result = 10 / 0
except ZeroDivisionError:
# 处理特定异常
print("除数不能为零")
except Exception as e:
# 处理所有异常
print(f"发生错误: {e}")
finally:
# 无论是否异常都会执行
print("清理工作")
第五部分:高级特性
1. 序列操作
# 常用序列函数
len(seq) # 长度
min(seq) # 最小值
max(seq) # 最大值
sum(seq) # 求和
sorted(seq) # 排序
reversed(seq) # 反转
2. 匿名函数
# lambda表达式
add = lambda x, y: x + y
result = add(3, 5)
3. 推导式
# 列表推导式
squares = [x**2 for x in range(10)]
# 字典推导式
square_dict = {x: x**2 for x in range(5)}
Python考试题(满分100分)
一、选择题(50题,每题1分,共50分)
-
下列哪个不是Python的基本数据类型?
A. int B. float C. double D. str
-
以下哪个函数用于将字符串转换为整数?
A. str() B. int() C. float() D. list()
-
在Python中,以下哪个关键字用于定义函数?
A. def B. function C. define D. func
-
下列哪个选项是正确的列表定义?
A. list1 = (1, 2, 3) B. list1 = {1, 2, 3} C. list1 = [1, 2, 3] D. list1 = <1, 2, 3>
-
以下哪个方法用于在列表末尾添加元素?
A. insert() B. append() C. add() D. push()
-
下列哪个运算符表示逻辑与?
A. & B. and C. or D. not
-
以下哪个函数可以返回序列的长度?
A. len() B. length() C. size() D. count()
-
下列哪个语句用于从键盘输入数据?
A. print() B. input() C. scanf() D. get()
-
在Python中,以下哪个关键字用于循环语句?
A. for B. loop C. while D. A和C
-
下列哪个函数用于生成一个整数序列?
A. range() B. seq() C. list() D. generate()
-
以下哪个方法用于删除列表中的指定元素?
A. remove() B. delete() C. pop() D. del
-
下列哪个选项是正确的字典定义?
A. dict1 = [1: 'a', 2: 'b'] B. dict1 = (1: 'a', 2: 'b') C. dict1 = {1: 'a', 2: 'b'} D. dict1 = <1: 'a', 2: 'b'>
-
在Python中,以下哪个关键字用于处理异常?
A. try B. catch C. exception D. error
-
下列哪个运算符表示按位异或?
A. & B. | C. ^ D. ~
-
以下哪个函数用于将表达式转换为字符串?
A. eval() B. str() C. repr() D. print()
-
下列哪个方法用于将字符串转换为小写?
A. lower() B. upper() C. title() D. capitalize()
-
在Python中,以下哪个关键字用于定义匿名函数?
A. lambda B. def C. function D. anonymous
-
下列哪个选项是正确的集合定义?
A. set1 = [1, 2, 3] B. set1 = (1, 2, 3) C. set1 = {1, 2, 3} D. set1 = <1, 2, 3>
-
以下哪个方法用于返回字典中所有的键?
A. keys() B. values() C. items() D. all()
-
下列哪个函数用于对序列进行排序?
A. sort() B. sorted() C. order() D. arrange()
-
在Python中,以下哪个关键字用于从函数中返回值?
A. return B. break C. continue D. yield
-
下列哪个运算符表示取余?
A. / B. // C. % D. **
-
以下哪个方法用于将列表反转?
A. reverse() B. reversed() C. sort() D. sorted()
-
下列哪个选项是正确的元组定义?
A. tuple1 = [1, 2, 3] B. tuple1 = {1, 2, 3} C. tuple1 = (1, 2, 3) D. tuple1 = <1, 2, 3>
-
在Python中,以下哪个关键字用于导入模块?
A. import B. include C. using D. require
-
下列哪个函数用于将数字转换为二进制字符串?
A. bin() B. oct() C. hex() D. str()
-
以下哪个方法用于检查字符串是否以指定前缀开头?
A. startswith() B. endswith() C. isprefix() D. issuffix()
-
下列哪个运算符表示赋值?
A. = B. == C. != D. >
-
在Python中,以下哪个关键字用于定义类?
A. class B. def C. struct D. object
-
下列哪个函数用于计算序列中元素的和?
A. sum() B. total() C. add() D. plus()
-
以下哪个方法用于从列表中弹出元素?
A. pop() B. remove() C. delete() D. discard()
-
下列哪个选项是正确的字符串切片操作?
A. str1[0:5] B. str1[0:5:1] C. str1[:5] D. 以上都是
-
在Python中,以下哪个关键字用于循环中跳过本次循环?
A. break B. continue C. pass D. skip
-
下列哪个函数用于将字符串转换为浮点数?
A. int() B. float() C. str() D. number()
-
以下哪个方法用于将字符串分割成列表?
A. split() B. partition() C. divide() D. separate()
-
下列哪个运算符表示幂运算?
A. * B. ** C. // D. %
-
在Python中,以下哪个关键字用于处理异常中的无论是否发生异常都执行的代码?
A. finally B. else C. except D. try
-
下列哪个函数用于将整数转换为十六进制字符串?
A. bin() B. oct() C. hex() D. str()
-
以下哪个方法用于返回字符串的副本,其中首字母大写?
A. capitalize() B. title() C. upper() D. lower()
-
下列哪个选项是正确的字典键值对?
A. {1: 'a', 2: 'b'} B. [1: 'a', 2: 'b'] C. (1: 'a', 2: 'b') D. <1: 'a', 2: 'b'>
-
在Python中,以下哪个关键字用于全局变量?
A. global B. local C. nonlocal D. world
-
下列哪个函数用于将序列中的每个元素应用函数?
A. map() B. filter() C. reduce() D. apply()
-
以下哪个方法用于返回字符串中子字符串出现的次数?
A. count() B. find() C. index() D. search()
-
下列哪个运算符表示不等于?
A. = B. == C. != D. <>
-
在Python中,以下哪个关键字用于定义生成器?
A. yield B. return C. generator D. produce
-
下列哪个函数用于将序列转换为枚举对象?
A. enumerate() B. zip() C. map() D. filter()
-
以下哪个方法用于返回字典中所有的值?
A. keys() B. values() C. items() D. all()
-
下列哪个选项是正确的集合操作?
A. 交集:intersection() B. 并集:union() C. 差集:difference() D. 以上都是
-
在Python中,以下哪个关键字用于断言?
A. assert B. if C. check D. test
-
下列哪个函数用于创建匿名函数?
A. lambda B. def C. function D. anonymous
二、编程题(5题,每题6分,共30分)
-
编写一个函数,接受一个字符串参数,返回该字符串的反转字符串。
def reverse_string(s): # 你的代码 pass -
编写一个程序,计算并输出1到100之间所有偶数的和。
# 你的代码 -
编写一个函数,接受一个列表参数,返回该列表中的最大值和最小值(使用内置函数不得分)。
def find_max_min(lst): # 你的代码 pass -
编写一个程序,实现一个简单的猜数字游戏。程序随机生成一个1到100之间的整数,用户有5次机会猜测,每次猜测后程序会提示用户猜大了、猜小了还是猜对了。
import random # 你的代码 -
编写一个函数,接受一个整数n,返回斐波那契数列的前n项。
def fibonacci(n): # 你的代码 pass
三、主观题(5题,每题4分,共20分)
-
请解释Python中可变类型和不可变类型的区别,并举例说明。
-
请描述Python中
*args和**kwargs的作用,并举例说明它们的使用场景。 -
请说明Python中浅拷贝和深拷贝的区别,并举例说明。
-
请解释Python中的LEGB规则,并说明变量查找的顺序。
-
请描述Python的垃圾回收机制,并说明如何手动触发垃圾回收。
总分:100分
-
选择题:50分
-
编程题:30分
-
主观题:20分