python笔记梳理以及一些题目整理

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分)

  1. 下列哪个不是Python的基本数据类型?

    A. int B. float C. double D. str

  2. 以下哪个函数用于将字符串转换为整数?

    A. str() B. int() C. float() D. list()

  3. 在Python中,以下哪个关键字用于定义函数?

    A. def B. function C. define D. func

  4. 下列哪个选项是正确的列表定义?

    A. list1 = (1, 2, 3) B. list1 = {1, 2, 3} C. list1 = [1, 2, 3] D. list1 = <1, 2, 3>

  5. 以下哪个方法用于在列表末尾添加元素?

    A. insert() B. append() C. add() D. push()

  6. 下列哪个运算符表示逻辑与?

    A. & B. and C. or D. not

  7. 以下哪个函数可以返回序列的长度?

    A. len() B. length() C. size() D. count()

  8. 下列哪个语句用于从键盘输入数据?

    A. print() B. input() C. scanf() D. get()

  9. 在Python中,以下哪个关键字用于循环语句?

    A. for B. loop C. while D. A和C

  10. 下列哪个函数用于生成一个整数序列?

    A. range() B. seq() C. list() D. generate()

  11. 以下哪个方法用于删除列表中的指定元素?

    A. remove() B. delete() C. pop() D. del

  12. 下列哪个选项是正确的字典定义?

    A. dict1 = [1: 'a', 2: 'b'] B. dict1 = (1: 'a', 2: 'b') C. dict1 = {1: 'a', 2: 'b'} D. dict1 = <1: 'a', 2: 'b'>

  13. 在Python中,以下哪个关键字用于处理异常?

    A. try B. catch C. exception D. error

  14. 下列哪个运算符表示按位异或?

    A. & B. | C. ^ D. ~

  15. 以下哪个函数用于将表达式转换为字符串?

    A. eval() B. str() C. repr() D. print()

  16. 下列哪个方法用于将字符串转换为小写?

    A. lower() B. upper() C. title() D. capitalize()

  17. 在Python中,以下哪个关键字用于定义匿名函数?

    A. lambda B. def C. function D. anonymous

  18. 下列哪个选项是正确的集合定义?

    A. set1 = [1, 2, 3] B. set1 = (1, 2, 3) C. set1 = {1, 2, 3} D. set1 = <1, 2, 3>

  19. 以下哪个方法用于返回字典中所有的键?

    A. keys() B. values() C. items() D. all()

  20. 下列哪个函数用于对序列进行排序?

    A. sort() B. sorted() C. order() D. arrange()

  21. 在Python中,以下哪个关键字用于从函数中返回值?

    A. return B. break C. continue D. yield

  22. 下列哪个运算符表示取余?

    A. / B. // C. % D. **

  23. 以下哪个方法用于将列表反转?

    A. reverse() B. reversed() C. sort() D. sorted()

  24. 下列哪个选项是正确的元组定义?

    A. tuple1 = [1, 2, 3] B. tuple1 = {1, 2, 3} C. tuple1 = (1, 2, 3) D. tuple1 = <1, 2, 3>

  25. 在Python中,以下哪个关键字用于导入模块?

    A. import B. include C. using D. require

  26. 下列哪个函数用于将数字转换为二进制字符串?

    A. bin() B. oct() C. hex() D. str()

  27. 以下哪个方法用于检查字符串是否以指定前缀开头?

    A. startswith() B. endswith() C. isprefix() D. issuffix()

  28. 下列哪个运算符表示赋值?

    A. = B. == C. != D. >

  29. 在Python中,以下哪个关键字用于定义类?

    A. class B. def C. struct D. object

  30. 下列哪个函数用于计算序列中元素的和?

    A. sum() B. total() C. add() D. plus()

  31. 以下哪个方法用于从列表中弹出元素?

    A. pop() B. remove() C. delete() D. discard()

  32. 下列哪个选项是正确的字符串切片操作?

    A. str1[0:5] B. str1[0:5:1] C. str1[:5] D. 以上都是

  33. 在Python中,以下哪个关键字用于循环中跳过本次循环?

    A. break B. continue C. pass D. skip

  34. 下列哪个函数用于将字符串转换为浮点数?

    A. int() B. float() C. str() D. number()

  35. 以下哪个方法用于将字符串分割成列表?

    A. split() B. partition() C. divide() D. separate()

  36. 下列哪个运算符表示幂运算?

    A. * B. **​ C. // D. %

  37. 在Python中,以下哪个关键字用于处理异常中的无论是否发生异常都执行的代码?

    A. finally B. else C. except D. try

  38. 下列哪个函数用于将整数转换为十六进制字符串?

    A. bin() B. oct() C. hex() D. str()

  39. 以下哪个方法用于返回字符串的副本,其中首字母大写?

    A. capitalize() B. title() C. upper() D. lower()

  40. 下列哪个选项是正确的字典键值对?

    A. {1: 'a', 2: 'b'} B. [1: 'a', 2: 'b'] C. (1: 'a', 2: 'b') D. <1: 'a', 2: 'b'>

  41. 在Python中,以下哪个关键字用于全局变量?

    A. global B. local C. nonlocal D. world

  42. 下列哪个函数用于将序列中的每个元素应用函数?

    A. map() B. filter() C. reduce() D. apply()

  43. 以下哪个方法用于返回字符串中子字符串出现的次数?

    A. count() B. find() C. index() D. search()

  44. 下列哪个运算符表示不等于?

    A. = B. == C. != D. <>

  45. 在Python中,以下哪个关键字用于定义生成器?

    A. yield B. return C. generator D. produce

  46. 下列哪个函数用于将序列转换为枚举对象?

    A. enumerate() B. zip() C. map() D. filter()

  47. 以下哪个方法用于返回字典中所有的值?

    A. keys() B. values() C. items() D. all()

  48. 下列哪个选项是正确的集合操作?

    A. 交集:intersection() B. 并集:union() C. 差集:difference() D. 以上都是

  49. 在Python中,以下哪个关键字用于断言?

    A. assert B. if C. check D. test

  50. 下列哪个函数用于创建匿名函数?

    A. lambda B. def C. function D. anonymous

二、编程题(5题,每题6分,共30分)

  1. 编写一个函数,接受一个字符串参数,返回该字符串的反转字符串。

    复制代码
    def reverse_string(s):
        # 你的代码
        pass
  2. 编写一个程序,计算并输出1到100之间所有偶数的和。

    复制代码
    # 你的代码
  3. 编写一个函数,接受一个列表参数,返回该列表中的最大值和最小值(使用内置函数不得分)。

    复制代码
    def find_max_min(lst):
        # 你的代码
        pass
  4. 编写一个程序,实现一个简单的猜数字游戏。程序随机生成一个1到100之间的整数,用户有5次机会猜测,每次猜测后程序会提示用户猜大了、猜小了还是猜对了。

    复制代码
    import random
    # 你的代码
  5. 编写一个函数,接受一个整数n,返回斐波那契数列的前n项。

    复制代码
    def fibonacci(n):
        # 你的代码
        pass

三、主观题(5题,每题4分,共20分)

  1. 请解释Python中可变类型和不可变类型的区别,并举例说明。

  2. 请描述Python中*args**kwargs的作用,并举例说明它们的使用场景。

  3. 请说明Python中浅拷贝和深拷贝的区别,并举例说明。

  4. 请解释Python中的LEGB规则,并说明变量查找的顺序。

  5. 请描述Python的垃圾回收机制,并说明如何手动触发垃圾回收。


总分:100分

  • 选择题:50分

  • 编程题:30分

  • 主观题:20分

相关推荐
zone77394 小时前
001:简单 RAG 入门
后端·python·面试
F_Quant4 小时前
🚀 Python打包踩坑指南:彻底解决 Nuitka --onefile 配置文件丢失与重启报错问题
python·操作系统
允许部分打工人先富起来5 小时前
在node项目中执行python脚本
前端·python·node.js
IVEN_5 小时前
Python OpenCV: RGB三色识别的最佳工程实践
python·opencv
haosend6 小时前
AI时代,传统网络运维人员的转型指南
python·数据网络·网络自动化
曲幽6 小时前
不止于JWT:用FastAPI的Depends实现细粒度权限控制
python·fastapi·web·jwt·rbac·permission·depends·abac
tingshuo291716 小时前
S001 【模板】从前缀函数到KMP应用 字符串匹配 字符串周期
笔记
IVEN_1 天前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang1 天前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮1 天前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python