目录
1.Python推导式
1.1列表推导式
1.2字典推导式
1.3集合推导式
2.常见语句
2.1赋值语句
2.2条件语句
2.2.1if-elif-else
2.2.3 match-case
2.3循环语句
2.3.1for循环
2.3.2while循环
2.3.3range
2.4循环控制语句
2.4.1break
2.4.2continue
2.4.3pass
2.5函数定义语句
2.6异常处理语句
2.6.1try-except-finally
2.6.2raise
2.6.3assert
2.6.3 错误类型
2.7导入语句
2.8 注释语句
2.9with语句
3.内置函数
3.1abs()
3.2all(iterable)
4.总结
用更简洁的方式创建列表、字典和集合。是 Python 特有的一种表达式形式。
list1 = [1, 2, 3, 4, 5, 10, 5, 3, 7]
list2 = [i**2 for i in list1] #将list1的每个元素求平方后放入list2
print(list2) #输出[1, 4, 9, 16, 25, 100, 25, 9, 49]
list1 = [1, 2, 3, 4, 5, 10, 5, 3, 7]
list3 = [i**2 for i in list1 if i % 2] #只要奇数并对其求平方后放入list3
print(list3) #输出[1, 9, 25, 25, 9, 49]
a = ['a', 'b', 'c']
result = {x: ord(x) for x in a} #创建一个字典,将字母映射到对应的ASCII值
print(result) #输出{'a': 97, 'b': 98, 'c': 99}
a = [1, 2, 3, 4]
result = {x * 2 for x in a} # 创建一个集合,元素是原列表每个元素的两倍
print(result) #输出[2, 4, 6, 8]
Python常见的的语句有赋值语句,条件语句,循环语句,循环控制语句,函数定义语句,异常处理语句,导入语句,注释语句,with语句。
赋值语句将一个值赋给变量:
a = 5 # 将值 5 赋给变量 a
b = a + 2 # 计算 a + 2 并将结果赋给 b
print(a) # 输出5
print(b) # 输出7
条件语句用于根据不同的条件来执行不同的代码块。
if 条件表达式1:
语句块1
elif 条件表达式2:
语句块2
...
elif 条件表达式n:
语句块n
else:
语句块(其他)
例子:
age = int(input('请输入年龄:'))
if age < 12:
print('还是个孩子~')
elif age< 18:
print('少年')
elif age < 30:
print('青年')
elif age < 60:
print('中年')
else:
print('智者')
在Python3.10版本后更新了match-case语句:
当存在多个判断环境时,if-elif-else语句会比较臃肿
在判断条件较为简单的前提下,可使用match case来进行多条件判断
当x与对应的case匹配后,立刻结束判断,无论后续的case是否匹配
例子:
x = 20
match x:
case 10:
print("x is 10")
case 20:
print("x is 20")
case _:
print("x is not 10 ether 20")
循环语句用于重复执行一段代码,直到满足某个条件。常见的循环语句有 for
循环和 while
循环。
遍历可迭代对象(如列表、元组、字典等)
遍历是指经历且只经历一遍
可迭代对象是指能够依次获取数据元素的对象
例子:
for i in range(5):
print(i) # 输出 0, 1, 2, 3, 4
当条件为 True 时重复执行
例子:
count = 0
while count < 5:
print(count)
count += 1 # 输出 0, 1, 2, 3, 4
range(4) # 生成 0 1 2 3
range(3, 6) # 生成 3 4 5
range(1, 10, 2) # 生成 1 3 5 7 9
range(5, 0, -2) # 生成 5 3 1
循环控制语句用于控制程序的执行流程。
跳出整个循环。
例子:
for i in range(5):
if i == 3:
break # 退出循环
print(i) #输出0,1,2
跳过当前循环,继续下一次循环。
例子:
for i in range(1, 21, 1):
if i % 5 == 0:
continue # 进入下一次循环
print(i, end=' ') #输出1 2 3 4 6 7 8 9 11 12 13 14 16 17 18 19
占位符,什么也不做,通常用于占据语法上必须有代码的地方。
例子:
def empty_function():
pass # 这里不做任何事情
用于定义一个函数,包含 def
关键字
例子:
def greet(name):
print(f"Hello, {name}!")
greet("Alice") # 调用函数,输出Hello, Alice!
用于捕获和处理可能出现的错误。
try:
result = 10 / 0 # 触发异常
except ZeroDivisionError:
print("除数不能为零")
else:
print("没有错误")
finally:
print("无论如何都会执行")
raise关键字用于显式地抛出异常,通常用于自定义异常或在代码中手动触发错误。
# 在函数中根据条件抛出异常
def divide(a, b):
if b == 0:
raise ZeroDivisionError("除数不能为0")
return a / b
print(divide(4, 2)) # 2.0
print(divide(4, 0)) # 抛出 ZeroDivisionError
assert主要用于开发和调试时检查某个条件是否成立。
x = 10
assert x > 5 # 通过,不会报错
assert x < 5, "x 必须小于 5" # 失败,抛出 AssertionError: x 必须小于 5
错误类型 | 说明 |
---|---|
ZeroDivisionError | 除(或取模)零 (所有数据类型) |
ValueError | 传入无效的参数 |
AssertionError | 断言语句失败 |
StopIteration | 迭代器没有更多的值 |
IndexError | 序列中没有此索引(index) |
IndentationError | 缩进错误 |
OSError | 输入/输出操作失败 |
ImportError | 导入模块/对象失败 |
NameError | 未声明/初始化对象 (没有属性) |
AttributeError | 对象没有这个属性 |
导入语句用于导入模块或包,使得程序可以使用外部代码和库
import math # 导入math模块
print(math.sqrt(16)) # 使用math模块中的sqrt函数
注释语句用于解释代码,Python 解释器会忽略这些注释。单行注释使用 #
,多行注释可以用三个引号
# 这是一个单行注释
x = 5 # 这是一个行尾注释
"""
这是一个多行注释
可以用于更长的解释
"""
with
语句用于处理资源管理(如文件操作),确保资源在使用后被正确关闭或释放
with open("file.txt", "r") as file:
content = file.read()
print(content)
Python提供了大量的可直接使用的内置函数,主要执行一些常见的操作:数据处理、类型转换、数学计算、输入输出等。
Python的内置函数有很多,下面将编码实现两个简单Python内置函数的功能。
abs()的功能是将一个数转换为它的绝对值。
def abs(x):
assert isinstance(x, (int, float)), TypeError('类型不正确')
return x if x >=0 else -x
print(abs(-100)) #输出100
print(abs(300)) #输出300
all()的功能是如果 iterable 的所有元素均为真值(或可迭代对象为空)则返回 True
。
def all(ia):
try:
for i in ia:
if not i:
# return 之后的代码不会执行
return False
except TypeError:
raise TypeError('类型错误')
return True
print(all([1, 2])) #输出True
print(all([0, 2])) #输出False
推导式让代码更简洁,循环与条件语句搭建逻辑框架,内置函数则像工具箱,大幅提升效率。但需注意推导式别过度嵌套,语句缩进要规范。