06-Python数据容器 笔记
一、数据容器入门
- 定义:Python中能够存储多个元素的数据类型。
- 类型:列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)。
二、列表(list)
- 定义:
[元素1, 元素2, ...]
- 常用操作:
- 添加元素:
python复制代码
my_list = [1, 2, 3]
my_list.append(4) # 追加到末尾
my_list.insert(1, 0) # 在索引1处插入0
- 删除元素:
python复制代码
del my_list[0] # 删除索引0的元素
my_list.pop(1) # 删除索引1的元素并返回
my_list.remove(2) # 删除第一个值为2的元素
my_list.clear() # 清空列表
- 修改元素:
python复制代码
my_list[0] = 5 # 修改索引0的元素为5
- 统计和查找:
python复制代码
len(my_list) # 元素数量
my_list.index(2) # 查找元素2的索引
my_list.count(2) # 统计元素2的数量
- 遍历:
python复制代码
for item in my_list:
print(item)
i = 0
while i < len(my_list):
print(my_list[i])
i += 1
- 添加元素:
三、元组(tuple)
- 定义:
(元素1, 元素2, ...)
- 特点:不可变,支持嵌套。
- 遍历:
python复制代码
my_tuple = (1, 2, 3)
for item in my_tuple:
print(item)
四、字符串(str)
- 定义:
'这是一个字符串'
- 常用操作:
- 查找:
python复制代码
str_var = "hello world"
index = str_var.index('world') # 查找子串位置
- 替换:
python复制代码
new_str = str_var.replace('world', 'Python') # 替换子串
- 分割:
python复制代码
words = str_var.split() # 分割字符串为列表
- 去除空格:
python复制代码
trimmed_str = str_var.strip() # 去除首尾空格
- 遍历:
python复制代码
for char in str_var:
print(char)
- 查找:
五、集合(set)
- 定义:
{元素1, 元素2, ...}
- 特点:无序、唯一性。
- 常用操作:
- 添加和移除:
python复制代码
my_set = {1, 2, 3}
my_set.add(4) # 添加元素
my_set.remove(2) # 移除元素
- 集合运算:
python复制代码
set1 = {1, 2, 3}
set2 = {2, 3, 4}
print(set1.union(set2)) # 并集
print(set1.intersection(set2)) # 交集
print(set1.difference(set2)) # 差集
- 添加和移除:
六、字典(dict)
- 定义:
{key1: value1, key2: value2, ...}
- 常用操作:
- 访问:
python复制代码
my_dict = {'name': 'Tom', 'age': 25}
print(my_dict['name']) # 通过键访问值
- 更新和删除:
python复制代码
my_dict['age'] = 30 # 更新值
del my_dict['name'] # 删除键值对
my_dict.pop('age') # 弹出并返回键对应的值
- 遍历:
python复制代码
for key in my_dict:
print(key, my_dict[key])
for key, value in my_dict.items():
print(key, value)
- 访问:
七、数据容器的通用操作
- 统计长度:
len(container)
- 排序:
sorted(container)
- 类型转换:
python复制代码
list(tuple_var) # 元组转列表
tuple(list_var) # 列表转元组
set(list_var) # 列表转集合
str(list_var) # 列表转字符串(不是期望的转换方式)
07-Python函数进阶 笔记
一、函数多返回值
- 定义:通过返回多个值,用逗号分隔。
- 接收:通过多个变量接收。
python复制代码
def func():
return 1, 2, 3
a, b, c = func()
print(a, b, c)
二、多种传参方式
- 位置参数:根据位置传递。
- 关键字参数:通过
键=值
形式传递。 - 缺省参数:为参数提供默认值。
- 不定长参数:
- 位置不定长:
*args
(收集为元组)。 - 关键字不定长:
**kwargs
(收集为字典)。
python复制代码
def func(*args, **kwargs):
print(args, kwargs)
func(1, 2, 3, a=4, b=5)
- 位置不定长:
三、函数作为参数传递
- 定义:函数可以作为参数传递给另一个函数。
python复制代码
def compute(a, b):
return a + b
def test_func(func, x, y):
return func(x, y)
result = test_func(compute, 1, 2)
print(result)
四、匿名函数(lambda)
- 定义:
lambda 参数: 表达式
- 用途:临时定义一个匿名函数。
python复制代码
add = lambda x, y: x + y
print(add(1, 2))
08-Python文件操作 笔记
一、文件编码
- 定义:将文本转换为二进制存储的规则。
- 常见编码:UTF-8、GBK、Big5。
- 查看编码:通过文本编辑器查看。
二、文件的打开与关闭
- 打开文件:
open(文件名, 模式, 编码)
- 模式:只读('r')、只写('w')、追加('a')。
- 关闭文件:
file.close()
或使用with
语句自动关闭。
三、文件的读取
- read():读取全部内容。
- readline():读取一行。
- readlines():读取全部行到列表。
- for 循环读取:按行读取。
四、文件的写入与追加
- 写入:使用
'w'
模式,如果文件存在则覆盖。 - 追加:使用
'a'
模式,在文件末尾追加内容。