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分

相关推荐
宵时待雨1 分钟前
C语言笔记归纳21:编译与链接
linux·c语言·开发语言·笔记
天勤量化大唯粉2 分钟前
基于距离的配对交易策略:捕捉价差异常偏离的均值回归机会(天勤量化代码实现)
android·开发语言·python·算法·kotlin·开源软件·策略模式
走在路上的菜鸟4 分钟前
Android学Dart学习笔记第二十二节 类-扩展方法
android·笔记·学习·flutter
leiming66 分钟前
c++ 利用模板创建一个可以储存任意类型数据的数组类
开发语言·c++·算法
无敌最俊朗@6 分钟前
音视频C++开发进阶指南
开发语言·c++·音视频
Bruce_Liuxiaowei8 分钟前
Python 跨平台 Nmap 自动化扫描工具:从手动到一键批量扫描
开发语言·python·网络安全·自动化
待╮續8 分钟前
Conda 使用教程
python
TL滕9 分钟前
从0开始学算法——第二十天(简易搜索引擎)
笔记·学习·算法
派大鑫wink11 分钟前
【Day1】Java 入门:开发环境搭建(JDK 安装 + IDEA 配置 + HelloWorld 实战)
java·开发语言·intellij-idea
lingran__11 分钟前
C语言内存函数详解
c语言·开发语言