温馨提示:下方的英语标注可能会有一些问题,如果大家看的懂中文建议尽量看中文版的
Kind reminder: There may be some issues with the English annotations below. If you understand Chinese, it is recommended to read the Chinese version as much as possible
Python知识超级汇总
文章目录
一、引言
Python 是一种高级、解释型、通用的编程语言,以其简洁、易读、易维护的代码风格和强大的功能而受到广泛欢迎。它拥有丰富的库和框架,可应用于多个领域,如 Web 开发、数据科学、人工智能、自动化脚本、游戏开发等。本汇总将全面介绍 Python 的基础知识、高级特性以及常用的库和框架,帮助读者全面掌握 Python 编程。
二、Python 基础
(一)安装与环境配置
- 下载安装包:从 Python 官方网站https://www.python.org/downloads/下载适合自己操作系统的 Python 安装包。
- 安装过程:运行安装包,按照提示进行安装。在安装过程中,建议勾选“Add Python to PATH”选项,以便在命令行中直接使用 Python 命令。
- 环境变量检查:安装完成后,打开命令行,输入“python --version”,如果显示 Python 的版本号,则说明安装成功。
(二)基本语法
- 注释
- 单行注释:使用“#”符号,例如:
# 这是一个单行注释- 多行注释:使用三个单引号(‘’')或三个双引号(“”"),例如:
''' 这是一个 多行注释 ''' """ 这也是一个 多行注释 """ - 变量与数据类型
- 变量命名规则:变量名由字母、数字和下划线组成,不能以数字开头,且区分大小写。例如:
my_variable = 10。 - 常见数据类型:
- 整数(int):表示整数,如
10、-5。 - 浮点数(float):表示小数,如
3.14、-2.5。 - 字符串(str):用单引号或双引号括起来的文本,如
'Hello, World!'、"Python is great"。 - 布尔值(bool):只有两个值
True和False。 - 空值(None):表示空对象。
- 整数(int):表示整数,如
- 变量命名规则:变量名由字母、数字和下划线组成,不能以数字开头,且区分大小写。例如:
- 运算符
- 算术运算符:
+(加)、-(减)、*(乘)、/(除)、%(取模)、**(幂运算)、//(整除)。例如:
result = 5 + 3 # 加法,结果为8 result = 10 / 3 # 除法,结果为3.3333333333333335 result = 10 % 3 # 取模,结果为1 result = 2 ** 3 # 幂运算,结果为8 result = 10 // 3 # 整除,结果为3- 比较运算符:
==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)。例如:
is_equal = 5 == 3 # 比较是否相等,结果为False is_greater = 5 > 3 # 比较大小,结果为True- 逻辑运算符:
and(与)、or(或)、not(非)。例如:
result = (5 > 3) and (2 < 4) # 逻辑与,结果为True result = (5 > 3) or (2 > 4) # 逻辑或,结果为True result = not (5 > 3) # 逻辑非,结果为False- 赋值运算符:
=(赋值)、+=(加等于)、-=(减等于)、*=(乘等于)、/=(除等于)、%=(取模等于)、**=(幂等于)、//=(整除等于)。例如:
num = 5 num += 3 # 相当于num = num + 3,结果num为8 - 算术运算符:
(三)流程控制
- 条件语句(if - elif - else)
age = 18
if age < 18:
print("未成年人")
elif age == 18:
print("刚成年")
else:
print("成年人")
- 循环语句
- for 循环:用于遍历可迭代对象(如列表、字符串、元组等)。
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
print(fruit)
- while 循环:只要条件为真,就会一直循环执行。
count = 0
while count < 5:
print(count)
count += 1
- 循环控制语句
- break:用于立即终止循环。
for i in range(10):
if i == 5:
break
print(i)
- continue:用于跳过当前循环的剩余部分,继续下一次循环。
for i in range(10):
if i % 2 == 0:
continue
print(i)
(四)数据结构
- 列表(list)
- 是一种有序的可变序列,可以包含不同类型的元素。
- 创建列表:
my_list = [1, 2, 3, 'apple', 3.14]
- 访问列表元素:通过索引访问,索引从 0 开始。
my_list = [1, 2, 3, 'apple', 3.14]
print(my_list[0]) # 输出1
print(my_list[3]) # 输出'apple'
- 修改列表元素:
my_list = [1, 2, 3, 'apple', 3.14]
my_list[0] = 10
print(my_list) # 输出[10, 2, 3, 'apple', 3.14]
- 列表常用方法:
append():在列表末尾添加一个元素。
my_list = [1, 2, 3]
my_list.append(4)
print(my_list) # 输出[1, 2, 3, 4]
- `extend()`:将一个可迭代对象的元素添加到列表中。
my_list = [1, 2, 3]
new_list = [4, 5]
my_list.extend(new_list)
print(my_list) # 输出[1, 2, 3, 4, 5]
- `insert()`:在指定位置插入一个元素。
my_list = [1, 2, 3]
my_list.insert(1, 1.5)
print(my_list) # 输出[1, 1.5, 2, 3]
- `remove()`:移除列表中第一个匹配的元素。
my_list = [1, 2, 3, 2]
my_list.remove(2)
print(my_list) # 输出[1, 3, 2]
- `pop()`:移除并返回指定位置的元素,默认移除最后一个元素。
my_list = [1, 2, 3]
element = my_list.pop(1)
print(element) # 输出2
print(my_list) # 输出[1, 3]
- 元组(tuple)
- 是一种有序的不可变序列,通常用于存储一组相关的数据。
- 创建元组:
my_tuple = (1, 2, 3, 'apple')
# 也可以省略括号
my_tuple = 1, 2, 3, 'apple'
- 访问元组元素:与列表类似,通过索引访问。
my_tuple = (1, 2, 3, 'apple')
print(my_tuple[0]) # 输出1
print(my_tuple[3]) # 输出'apple'
- 集合(set)
- 是一种无序的、不重复的数据集合,常用于去重和集合运算。
- 创建集合:
my_set = {
1, 2, 3, 3} # 自动去重,实际集合为{1, 2, 3}
# 也可以使用set()函数创建
my_set = set([1, 2, 3, 3])
- 集合常用方法:
add():添加一个元素。
my_set = {
1, 2, 3}
my_set.add(4)
print(my_set) # 输出{1, 2, 3, 4}
- `remove()`:移除一个元素,如果元素不存在会报错。
my_set = {
1, 2, 3}
my_set.remove(2)
print(my_set) # 输出{1, 3}
- `discard()`:移除一个元素,如果元素不存在不会报错。
my_set = {
1, 2, 3}
my_set.discard(4)
print(my_set) # 输出{1, 2, 3}
- `union()`:返回两个集合的并集。
set1 = {
1, 2, 3}
set2 = {
3, 4, 5}
result = set1.union(set2)
print(result) # 输出{1, 2, 3, 4, 5}
- `intersection()`:返回两个集合的交集。
set1 = {
1, 2, 3}
set2 = {
3, 4, 5}
result = set1.intersection(set2)
print(result) # 输出{3}
- 字典(dict)
- 是一种无序的键值对集合,用于存储和查找数据。
- 创建字典:
my_dict = {
'name': 'John', 'age': 25, 'city': 'New York'}
- 访问字典元素:通过键访问。
my_dict = {
'name': 'John', 'age': 25, 'city': 'New York'}
print(my_dict['name']) # 输出'John'
- 修改字典元素:
my_dict = {
'name': 'John', 'age': 25, 'city': 'New York'}
my_dict['age'] = 26
print(my_dict) # 输出{'name': 'John', 'age': 26, 'city': 'New York'}
- 字典常用方法:
keys():返回字典的所有键。
my_dict = {
'name': 'John', 'age': 25, 'city': 'New York'}
keys = my_dict.keys()
print(keys) # 输出dict_keys(['name', 'age', 'city'])
- `values()`:返回字典的所有值。
my_dict = {
'name': 'John', 'age': 25, 'city': 'New York'}
values = my_dict.values()
print(values) # 输出dict_values(['John', 25, 'New York'])
- `items()`:返回字典的所有键值对。
my_dict = {
'name': 'John', 'age': 25, 'city': 'New York'}
items = my_dict.items()
print(items) # 输出dict_items([('name', 'John'), ('age', 25), ('city', 'New York')])
- `get()`:通过键获取值,如果键不存在返回默认值(默认为 None)。
my_dict = {
'name': 'John', 'age': 25, 'city': 'New York'}
value = my_dict.get('name')
print(value) # 输出'John'
value = my_dict.get('gender', 'Unknown')
print(value) # 输出'Unknown'
三、Python 高级特性
(一)函数
- 定义函数
def add_numbers(a, b):
return a + b
- 函数参数
- 位置参数:按顺序传递的参数。
def greet(name, message):
print(f"{
name}, {
message}")
greet('John', 'Hello!')
- 默认参数:在定义函数时为参数设置默认值。
def greet(name, message='Hello!'):
print(f"{
name}, {
message}")
greet('John')
greet('John', 'How are you?')
- 可变参数(*args):用于接收任意数量的位置参数,以元组形式传递。
def sum_numbers(*args):
result = 0
for num in args:
result += num
return result
print(sum_numbers(1, 2, 3))
print(sum_numbers(1, 2, 3, 4, 5))
- **关键字参数(kwargs):用于接收任意数量的关键字参数,以字典形式传递。
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{
key}: {
value}")
print_info(name='John', age=25, city='New York')
- 匿名函数(lambda 函数)
- 是一种没有名字的小函数,通常用于简单的表达式。
add = lambda a, b: a + b
print(add(3, 5))
(二)迭代器与生成器
- 迭代器
- 是一个可以被迭代(遍历)的对象,实现了
__iter__()和__next__()方法。 - 创建迭代器:
- 是一个可以被迭代(遍历)的对象,实现了
my_list = [1, 2, 3]
my_iterator = iter(my_list)
print(next(my_iterator)) # 输出1
print(next(my_iterator)) # 输出2
print(next(my_iterator)) # 输出3
# 当没有更多元素时,会抛出StopIteration异常
# print(next(my_iterator))
- 生成器
- 是一种特殊的迭代器,使用
yield关键字来生成值,而不是使用return。 - 生成器函数:
- 是一种特殊的迭代器,使用
def fibonacci():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
fib = fibonacci()
print(next(fib)) # 输出0
print(next(fib)) # 输出1
print(next(fib)) # 输出1
print(next(fib)) # 输出2
- 生成器表达式:
squares = (i ** 2 for i in range(10))
print(next(squares)) # 输出0
print(next(squares)) # 输出1
print(next(squares)) # 输出4
(三)装饰器
- 定义装饰器
- 是一种特殊的函数,用于修改其他函数的行为,而不修改函数的源代码。

最低0.47元/天 解锁文章
1041

被折叠的 条评论
为什么被折叠?



