python相关函数介绍(个人总结版)

目录

with open()语句

读取文件

写入文件

追加到文件

re.sub()语句

简单替换

使用函数进行替换

限制替换次数

使用标志位

splitlines()语句

strip()语句

print()

range()

.format()方法

字典(一种无序的数据结构)

列表(一种有序的数据结构)

元组

容器对比:略

切片

Zfill()函数

upper()函数

startswith()函数

read()函数

readline()函数

readlines()函数

index()函数

split()函数

enumerate()函数

copy()和deepcopy()函数区别

map()函数

os.walk()

PyQt5

QWidget和QMainWindow的区别

 类

self 不可以省略的原因

 get()

append()

 爬虫

JSON 相关函数

1. json.loads()

2. json.load()

3. json.dumps()

4. json.dump()

try - except 用法解释

基本语法

执行逻辑

捕获多种异常

捕获所有异常

else 子句

finally 子句

sorted()

1. 对简单列表排序

2. 按降序排序

3. 对字符串列表按字母顺序排序

4. 对字典列表按字典某个键的值排序

5. 对二维列表按指定列排序

lambda函数

1. 简单的数值计算

2. 字符串操作

3. 列表排序

4. 条件判断

5. 多个参数

f-string(格式化字符串字面值)

基本用法

格式化数值

整数格式化

浮点数格式化

格式化日期和时间

表达式嵌套

转义大括号

进制转换

十进制转其他进制

1. 十进制转二进制

2. 十进制转八进制

3. 十进制转十六进制

其他进制转十进制

1. 二进制转十进制

2. 八进制转十进制

3. 十六进制转十进制

自定义进制转换def int_to_anybase(value, base):    if value == 0:        return 0    data = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"    result = ''    while value != 0:        result = data[value % base] + result        value //= base    return resultdef main():    value = int(input("请输入一个整数(代表值):"))    base = int(input("请输入一个整数(代表进制):"))    print(f"10进制{value}转换成{base}进制后的值是{int_to_anybase(value, base)}")if __name__ == '__main__':    main()

格式化输出特定进制

1. 使用 f-string

2. 使用 str.format() 方法

/=和//=的区别

运算规则

结果的数据类型


with open()语句

with open()语句在 Python 中用于打开一个文件并确保该文件在使用完毕后被正确关闭

基本语法如下:

with open(file_path, mode, encoding=None, errors=None) as file_object:

#在这里对文件进行操作

#当离开这个代码块时,文件会自动关闭

file_path:文件的路径

mode:文件的打开模式,如'r'(只读)、'w'(写入)、'a'(追加)等。还可以添加'b'来表示二进制模式,如'rb'(二进制只读)'wb'(二进制只

encoding:指定文件的编码格式,如 'utf-8'这是可选参数,默认是系统默认编码

errors:指定如何处理编码和解码错误,如'strict'(严格模式,遇到错误就抛出异常)、'ignore'(忽略错误)等这也是可选参数

file_object:这是打开文件后返回的文件对象,你可以用它来读取或写入文件

注:使用with open()语句时,不需要显式地调用file.close()方法来关闭文件,因为上下文管理器会在代码块执行完毕后自动关闭文件。

示例

读取文件

python

file_path = 'example.txt'

with open(file_path, 'r', encoding='utf-8') as file:

content = file.read()

print(content)

# 文件在这里已经被自动关闭

写入文件

python

file_path = 'example.txt'

with open(file_path, 'w', encoding='utf-8') as file:

file.write('Hello, world!')

# 文件在这里已经被自动关闭

追加到文件

python

file_path = 'example.txt'

with open(file_path, 'a', encoding='utf-8') as file:

file.write('\nAnother line of text.')

# 文件在这里已经被自动关闭

re.sub()语句

re.sub()是Python中re模块提供的一个函数,用于在字符串中查找与正则表达式匹配的所有子串,并将它们替换为指定的内容

基本语法如下:

re.sub(pattern, repl, string, count=0, flags=0)

pattern:正则表达式的模式和规则

repl:替换的字符串(也可为一个函数)

string:要被搜索和替换的原始字符串

count:模式匹配后替换的最大次数,默认为0,表示替换所有的匹配

flags:标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等

示例

简单替换

python

import re

text = "Hello, world! Hello, Python!"

new_text = re.sub(r"Hello", "Hi", text)

print(new_text) # 输出: Hi, world! Hi, Python!

使用函数进行替换

python

import re

def increase_number(match):

value = match.group() # 获取匹配的整个字符串

num = int(value) + 1 # 将字符串转换为整数并加1

return str(num) # 将结果转换回字符串

text = "There are 123 apples, 456 oranges, and 789 bananas."

new_text = re.sub(r"\d+", increase_number, text)

print(new_text) # 输出: There are 124 apples, 457 oranges, and 790 bananas.

限制替换次数

python

import re

text = "one fish two fish red fish blue fish"

new_text = re.sub(r"fish", "shark", text, count=2)

print(new_text) # 输出: one shark two shark red fish blue fish

使用标志位

python

import re

text = "Hello, World! HELLO, WORLD!"

new_text = re.sub(r"hello", "hi", text, flags=re.IGNORECASE)

print(new_text) # 输出: hi, World! hi, WORLD!

在这个例子中,我们使用了re.IGNORECASE标志位来忽略大小写,因此所有的 "hello"(无论大小写)都被替换成了 "hi"。

splitlines()语句

在Python中,splitlines()方法是一个字符串方法,它用于将字符串按照行分隔符(通常是换行符\n)分割成一个列表每个元素都是原字符串中的一行

功能:按照行边界(\n、\r、\r\n)将字符串分割成一个列表,每一行作为列表中的一个元素。

示例:

text = "line1\nline2\rline3\r\nline4"

result = text.splitlines()

print(result)  

输出:['line1', 'line2', 'line3', 'line4']

特点:

专门用于按行分割字符串,不需要指定分隔符,会自动识别行边界。

会忽略行边界字符,只保留每行的内容。

split方法更通用,可以根据任意指定的分隔符进行字符串分割,适用于各种分割需求。

splitlines方法则专注于按行分割字符串,常用于处理多行文本,如读取文件内容后按行处理等场景。在处理与行相关的操作时,splitlines更加方便和高效。

strip()语句

在Python中,strip()方法是一个字符串方法,用于移除字符串开头和结尾的所有空白字符(包括空格、制表符、换行符等)。当你看到这样的代码if line.strip():时,它的作用是对字符串line调用strip()方法,并检查移除空白字符后的字符串是否为空。

注:

在Python的print函数中,如果不指定end参数,它默认会在输出的字符串末尾添加一个换行符。

print()

功能:用于输出内容到控制台。

语法:print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

*objects:要打印的对象,可以是多个,用逗号分隔。

sep:多个对象之间的分隔符,默认为空格

end:打印结束后添加的字符,默认为换行符\n

file:输出的文件对象,默认为标准输出sys.stdout。

flush:是否立即刷新输出缓冲区,默认为False。

示例:

print("Hello", "World", sep=', ', end='!')

输出:Hello, World!

可以在`print`函数中同时输出多个变量,变量之间用逗号分隔。

例如: - 输出不同类型的多个变量:

 ```name = "Alice" age = 25 height = 1.65

print(name, age, height) ```

当使用逗号分隔多个变量时,`print`函数会自动在变量之间添加一个空格进行分隔。如果不想要这个空格,可以将多个变量拼接成一个字符串后再输出。

例如: - 拼接字符串输出:

```name = "Bob" age = 30

print(name + " is " + str(age) + " years old.") ```

这里需要注意,当拼接数字和字符串时,要先将数字变量使用`str`函数转换为字符串类型,否则会出现类型错误。

**格式化输出变量** - **使用`%`格式化输出**(旧的格式化方式):

例如,格式化输出整数和字符串:

```num = 5 string_var = "Python"

print("The number is %d and the string is %s."%(num, string_var)) ``` 其中`%d`用于格式化整数,`%s`用于格式化字符串。

格式字符和变量的顺序要一一对应,并且变量要放在一个元组中作为`%`操作符的参数

**使用`format`方法格式化输出**

例如: ```num = 7 string_var = "Programming"

 print("The number is {} and the string is {}.".format(num, string_var)) ```

还可以通过指定索引来改变变量的顺序:

```print("The string is {1} and the number is {0}.".format(num, string_var)) ```

 **使用f - strings(Python 3.6及以上版本)**

例如: ```num = 9 string_var = "Language"

 print(f"The number is {num} and the string is {string_var}.") ```

f - strings提供了一种简洁、直观的方式来在字符串中嵌入变量,并且可以在大括号内进行表达式计算等操作。

range()

功能:生成一个整数序列,常用于循环中控制迭代次数。

语法:

range(stop):生成从 0 到stop - 1的整数序列。

range(start, stop[, step]):生成从start到stop - 1,步长为step的整数序列(step默认为 1)。

示例:

for i in range(5):

    print(i)

输出:0 1 2 3 4

.format()方法

.format()方法是Python中字符串对象的一个方法,用于格式化字符串。它允许你构建一个字符串,其中包含“占位符”,这些占位符将被.format()方法参数中的值所替换

.format() 方法的语法如下:

python

"{}".format(value)

'{key}'.format(key=value)

"{index}".format(tuple_or_list)

"{name1} {name2}".format(name1=value1, name2=value2, ...)

"{0} {1}".format(value1, value2, ...)

字典(一种无序的数据结构)

Python中的字典(Dictionary)是一种可变容器模型,且可以存储任意类型对象,如整数、字符串、元组等,作为键值对(key-value pairs)。字典的每个元素都是一个键值对,键和值通过冒号分隔,而键值对之间通过逗号分隔,整个字典包含在花括号 {} 中。字典中的必须是唯一的,而值则不必。

A.字典可以通过多种方式创建:

使用花括号 {}:

python

my_dict = { 'name': 'Alice', 'age': 25, 'city': 'New York'}

使用 dict() 构造函数:

python

my_dict = dict(name='Alice', age=25, city='New York')

通过两个列表(或其他可迭代对象)创建:

python

keys = ['name', 'age', 'city']

values = ['Alice', 25, 'New York']

my_dict = dict(zip(keys, values))

B.访问字典中的值

通过键访问字典中的值:

python

print(my_dict['name']) # 输出: Alice

如果键不存在,Python会抛出 KeyError。为了避免这种情况,可以使用 get() 方法:

python

print(my_dict.get('name')) # 输出: Alice

print(my_dict.get('job', 'Not specified')) # 输出: Not specified(如果'job'键不存在)

C.修改字典中的值

通过键修改字典中的值:

python

my_dict['age'] = 26

print(my_dict) # 输出: {'name': 'Alice', 'age': 26, 'city': 'New York'

D.添加新的键值对

如果键不存在,可以直接添加新的键值对:

python

my_dict['job'] = 'Engineer'

print(my_dict) # 输出: {'name': 'Alice', 'age': 26, 'city': 'New York', 'job': 'Engineer'}

E.删除字典中的元素

使用 del 语句:

python

del my_dict['city']

print(my_dict) # 输出: {'name': 'Alice', 'age': 26, 'job': 'Engineer'}

使用 pop() 方法:

python

city = my_dict.pop('city') # 如果键存在,返回其值并删除该键值对

print(city) # 输出: New York(如果'city'键之前存在)

print(my_dict) # 输出: {'name': 'Alice', 'age': 26, 'job': 'Engineer'}

pop() 方法还可以接受一个默认值参数,如果键不存在,则返回默认值而不是抛出 KeyError:

python

print(my_dict.pop('country', 'Not found')) # 输出: Not found

F.字典的遍历

在 Python 中,for key in my_dict:与for key in my_dict.keys():是等价的,因为默认情况下for循环遍历字典时就是遍历键。

遍历键:

python

for key in my_dict:

print(key)

遍历值:

python

for value in my_dict.values():

print(value)

遍历键值对:

python

for key, value in my_dict.items():

print(key, value)

G.字典的其他方法

Keys()方法返回一个包含字典中所有键的视图对象

python

person = { 'name': 'Alice', 'age': 30, 'city': 'New York'}

keys = person.keys()

print(keys) # 输出: dict_keys(['name', 'age', 'city'])

# 注意:dict_keys 是一个视图对象,它反映了字典中当前的键。你可以将其转换为列表来查看或操作这些键。

print(list(keys)) # 输出: ['name', 'age', 'city']

values() 方法返回一个包含字典中所有值的视图对象

python

values = person.values()

print(values) # 输出: dict_values(['Alice', 30, 'New York'])

# 同样,dict_values 是一个视图对象,反映了字典中当前的值。

print(list(values)) # 输出: ['Alice', 30, 'New York']

items() 方法返回一个包含字典中所有键值对的视图对象,每个键值对以元组的形式表示

python

items = person.items()

print(items) # 输出: dict_items([('name', 'Alice'), ('age', 30), ('city', 'New York')])

# dict_items 是一个视图对象,反映了字典中当前的键值对。

print(list(items)) # 输出: [('name', 'Alice'), ('age', 30), ('city', 'New York')]

update() 方法用于更新字典中的键值对,如果键已经存在,则更新其对应的值;如果键不存在,则添加新的键值对

python

person.update({ 'job': 'Engineer', 'age': 31})

print(person) # 输出: {'name': 'Alice', 'age': 31, 'city': 'New York', 'job': 'Engineer'}

# 注意:'age' 键的值被更新为 31。

也可以使用另一个字典或键值对序列(如元组列表)来更新当前字典

python

another_dict = { 'country': 'USA', 'city': 'Los Angeles'}

person.update(another_dict)

print(person) # 输出: {'name': 'Alice', 'age': 31, 'city': 'Los Angeles', 'job': 'Engineer', 'country': 'USA'}

# 注意:'city' 键的值被更新为 'Los Angeles'。

clear() 方法用于删除字典中的所有键值对,使其变为空字典

python

person.clear()

print(person) # 输出: {}

# 此时,person 是一个空字典。

copy()方法用于复制字典

python

my_dict = {"apple": 3, "banana": 5, "cherry": 2}

new_dict = my_dict.copy()

print(new_dict)  # 输出{"apple": 3, "banana": 5, "cherry": 2}

列表(一种有序的数据结构)

它能够存储一系列有序的元素,这些元素可以是不同类型的

A.创建列表

可以使用方括号[]来创建一个列表,列表中的元素用逗号分隔

python

my_list = [1, 2, 3, 4, 5] # 创建一个包含整数的列表

fruits = ['apple', 'banana', 'cherry'] # 创建一个包含字符串的列表

mixed_list = [1, 'apple', 3.14, True] # 创建一个包含不同类型元素的列表

B.访问元素

列表中的元素可以通过索引来访问,索引从0开始

python

print(my_list[0]) # 输出: 1,访问列表的第一个元素

print(fruits[2]) # 输出: cherry,访问列表的第三个元素

C.修改元素

可以通过索引来修改列表中的元素

python

my_list[1] = 10 # 将列表的第二个元素修改为10

print(my_list) # 输出: [1, 10, 3, 4, 5]

D.添加元素

可以使用append()方法在列表的末尾添加一个元素,或者使用insert()方法在指定位置插入一个元素

python

my_list.append(6) # 在列表末尾添加元素6

print(my_list) # 输出: [1, 10, 3, 4, 5, 6]

my_list.insert(2, 'a') # 在索引2的位置插入元素'a'

print(my_list) # 输出: [1, 10, 'a', 3, 4, 5, 6]

E.删除元素

你可以使用remove()方法根据值删除元素,或者使用pop()方法根据索引删除元素(并返回该元素)。此外,还可以使用del语句删除元素。

python

my_list.remove('a') # 删除值为'a'的元素

print(my_list) # 输出: [1, 10, 3, 4, 5, 6]

last_element = my_list.pop() # 删除并返回列表的最后一个元素

print(last_element) # 输出: 6

print(my_list) # 输出: [1, 10, 3, 4, 5]

del my_list[1] # 删除索引1的元素

print(my_list) # 输出: [1, 3, 4, 5]

F.列表遍历

可以使用for循环来遍历列表中的元素

python

for item in my_list:

print(item)

# 输出:

# 1

# 3

# 4

# 5

G.列表推导式

列表推导式是Python中一种简洁的构建列表的方法

python

squares = [x**2 for x in range(1, 6)] # 创建一个包含1到5的平方的列表

print(squares) # 输出: [1, 4, 9, 16, 25]

H.列表的嵌套

列表可以包含其他列表,形成嵌套列表

python

matrix = [

[1, 2, 3],

[4, 5, 6],

[7, 8, 9]

]

print(matrix[1][2]) # 输出: 6,访问嵌套列表中的元素

元组

元组(Tuple)是Python中另一种基础的数据结构,与列表类似,但它是不可变的,即一旦创建,就不能修改其内容。元组通常用于存储不需要改变的数据集合

A.创建元组

可以使用圆括号()来创建一个元组,元组中的元素用逗号分隔。如果只有一个元素,需要在元素后面加一个逗号来区分它是元组还是一个单独的表达式

python

my_tuple = (1, 2, 3, 4, 5) # 创建一个包含整数的元组

single_element_tuple = (7,) # 创建一个只有一个元素的元组,注意后面的逗号

#a = (5) # 这不是一个元组,而是一个整数5,圆括号在这里没有实际作用

empty_tuple = () # 创建一个空元组

B.访问元素

元组中的元素可以通过索引来访问,索引从0开始

python

print(my_tuple[0]) # 输出: 1,访问元组的第一个元素

print(my_tuple[3]) # 输出: 4,访问元组的第四个元素

C.不可变性

由于元组是不可变的,因此你不能像修改列表那样修改元组中的元素。如果你尝试这样做,Python会抛出一个TypeError

python

# my_tuple[1] = 10 # 这行代码会抛出TypeError,因为元组是不可变的

D.遍历元组

可以使用for循环来遍历元组中的元素

python

for item in my_tuple:

print(item)

# 输出:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值