黑马python七、八章
黑马python七、八章
函数的多种参数使用形式
- 位置参数
- 关键字参数:通过“键=值”的形式传递参数。如果有位置参数,其必须在关键字参数前。
- 缺省参数:即默认参数。所有位置参数必须在默认参数前,包括定义和调用。
- 不定长参数:
- 位置传递
- 关键字传递在上述代码中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19def print_info(*args, **kwargs):
print("不定长位置参数:")
for arg in args:
print(arg)
print("不定长关键字参数:")
for key, value in kwargs.items():
print(f"{key}: {value}")
# 调用函数,传递不定长位置参数和关键字参数
print_info(1, 2, 3, name="Alice", age=25)
*args
用于接收不定长的位置参数,它会将传入的多个位置参数打包成一个元组。在print_info
函数中,通过for
循环遍历args
元组来打印每个位置参数。**kwargs
用于接收不定长的关键字参数,它会将传入的多个关键字参数打包成一个字典。在print_info
函数中,通过for
循环遍历kwargs
字典的items()
来打印每个关键字参数及其对应的值。
lambda匿名函数
- 作为简单函数的快捷方式
1 |
|
在这个例子中,lambda x, y: x + y
创建了一个与add
函数功能相同的匿名函数,并将其赋值给add_lambda
变量。这样可以在需要简单函数的地方快速定义函数,而不需要使用def
关键字定义一个完整的函数。
- 与内置函数结合使用
1 |
|
这里map
函数需要一个函数作为参数,lambda x: x ** 2
定义了一个匿名函数,用于计算每个元素的平方,然后map
函数将这个匿名函数应用到numbers
列表的每个元素上,最后将结果转换为列表并打印。
- 作为排序的键函数
1 |
|
在对students
列表进行排序时,sorted
函数的key
参数接受一个函数,用于指定排序的依据。lambda x: x['age']
定义了一个匿名函数,返回每个学生字典中的'age'
值,sorted
函数根据这个值对学生列表进行排序。
mode三种基础访问模式
- r:只读,指针放开头,默认模式。
- w:只写,文件存则删原内容从头编,不存在则建新。
- a:追加,文件存则新内容接后,不存在则建新。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41# 打开文件获得文件对象
file_object = open('example.txt', 'r', encoding='utf-8')
# 读取指定长度字节(这里假设读取10个字节)
content = file_object.read(10)
print(content)
# 读取一行
line = file_object.readline()
print(line)
# 读取全部行,得到列表
lines = file_object.readlines()
print(lines)
# for循环文件行,一次循环得到一行数据
for line in file_object:
print(line)
# 关闭文件对象
file_object.close()
# 通过with open语法打开文件,可以自动关闭
with open('example.txt', 'r', encoding='utf-8') as f:
content = f.read()
print(content) - 不管是read还是readline(s)都是使用的指针,因此如果其前面有read相关命令,后面会接着其读。
- 如果使用
read()
不加num
参数则会读取全文。 - 如果不关闭文件则程序会占用文件。
文件的写出、追加
write()
写入到内存,flush()
在打开文件的状态下从内存写入硬盘,如果不使用flush()
,close()
也会在文件关闭时写入硬盘。
黑马python七、八章
https://blakehansen130.github.io/2025/01/19/黑马python七、八章/