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分

相关推荐
田里的水稻几秒前
C++_python_相互之间的包含调用方法
c++·chrome·python
2501_941870566 分钟前
面向微服务熔断与流量削峰策略的互联网系统稳定性设计与多语言工程实践分享
开发语言·python
modelmd11 分钟前
Go 编程语言指南 练习题目分享
开发语言·学习·golang
带土128 分钟前
4. C++ static关键字
开发语言·c++
C++ 老炮儿的技术栈35 分钟前
什么是通信规约
开发语言·数据结构·c++·windows·算法·安全·链表
@大迁世界38 分钟前
TypeScript 的本质并非类型,而是信任
开发语言·前端·javascript·typescript·ecmascript
ljt272496066143 分钟前
Compose笔记(六十九)--Pager
笔记
栗子叶44 分钟前
Java对象创建的过程
java·开发语言·jvm
GIS之路1 小时前
GDAL 实现矢量裁剪
前端·python·信息可视化
Amumu121381 小时前
React面向组件编程
开发语言·前端·javascript