在 Python 编程的世界里,推导式、常见语句和内置函数是构建高效代码的基石。它们不仅能让代码更简洁易懂,还能大幅提升编程效率。下面就为大家详细介绍这些重要的知识点。
一、Python 推导式
推导式是 Python 中一种独特且强大的语法,它可以用简洁的方式创建序列,包括列表、字典、集合和生成器等。
(一)列表推导式
列表推导式的基本语法为:[表达式 for 变量 in 可迭代对象 if 条件]。它的作用是根据可迭代对象中的元素,按照表达式和条件生成一个新的列表。
例如,生成一个 1 到 10 的平方的列表:
squares = [x**2 for x in range(1, 11)]
print(squares) # 输出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
再比如,筛选出 1 到 20 中的偶数:
evens = [x for x in range(1, 21) if x % 2 == 0]
print(evens) # 输出:[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
evens = [x for x in range(1, 21) if x % 2 == 0]
print(evens) # 输出:[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
(二)字典推导式
字典推导式的语法为:{键表达式: 值表达式 for 变量 in 可迭代对象 if 条件}。它用于快速创建字典。
例如,将一个列表中的元素作为键,其平方作为值创建字典:
square_dict = {x: x**2 for x in range(1, 6)}
print(square_dict) # 输出:{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
还可以交换字典中的键和值:
original_dict = {'a': 1, 'b': 2, 'c': 3}
swapped_dict = {v: k for k, v in original_dict.items()}
print(swapped_dict) # 输出:{1: 'a', 2: 'b', 3: 'c'}
(三)集合推导式
集合推导式的语法与列表推导式类似,只是把方括号换成了大括号:{表达式 for 变量 in 可迭代对象 if 条件}。由于集合具有去重的特性,所以集合推导式可以很方便地进行去重操作。
例如,生成一个包含 1 到 10 中偶数的集合:
even_set = {x for x in range(1, 11) if x % 2 == 0}
print(even_set) # 输出:{2, 4, 6, 8, 10}
对一个列表进行去重:
numbers = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
unique_numbers = {x for x in numbers}
print(unique_numbers) # 输出:{1, 2, 3, 4}
二、常见语句
(一)条件语句(if-elif-else)
条件语句用于根据不同的条件执行不同的代码块。基本语法如下:
if 条件1:
代码块1
elif 条件2:
代码块2
else:
代码块3
当条件 1 成立时,执行代码块 1;否则判断条件 2,若成立执行代码块 2;若所有条件都不成立,执行代码块 3。
例如,根据分数判断等级:
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 60:
print("及格")
else:
print("不及格") # 输出:良好
(二)循环语句
1.for 循环:用于遍历可迭代对象(如列表、元组、字符串等)
语法为:
for 变量 in 可迭代对象:
代码块
例如,遍历列表并打印元素:
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:
print(fruit)
# 输出:
# apple
# banana
# orange
2.while 循环:当条件成立时,重复执行代码块
语法为:
while 条件:
代码块
例如,计算 1 到 10 的和:
sum = 0
i = 1
while i <= 10:
sum += i
i += 1
print(sum) # 输出:55
3.循环控制语句
- break:用于跳出当前循环,不再执行循环中剩余的语句。
for i in range(1, 11):
if i == 5:
break
print(i) # 输出:1 2 3 4
- continue:用于跳过当前循环中的剩余语句,直接进入下一次循环。
for i in range(1, 11):
if i % 2 == 0:
continue
print(i) # 输出:1 3 5 7 9
(三)异常处理语句(try-except)
在编程过程中,可能会出现各种错误,异常处理语句可以捕获并处理这些错误,避免程序崩溃。基本语法:
try:
可能会出现错误的代码块
except 异常类型1:
处理异常类型1的代码块
except 异常类型2:
处理异常类型2的代码块
else:
当没有异常发生时执行的代码块
finally:
无论是否有异常发生都会执行的代码块
例如,处理除法运算中的除数为 0 的异常:
a = 10
b = 0
try:
result = a / b
except ZeroDivisionError:
print("除数不能为0")
else:
print(result)
finally:
print("运算结束")
# 输出:
# 除数不能为0
# 运算结束
三、内置函数
Python 提供了大量的内置函数,这些函数可以直接使用,极大地提高了编程效率。
(一)数据类型转换函数
- int(x):将 x 转换为整数。
print(int("123")) # 输出:123
print(int(3.14)) # 输出:3
- float(x):将 x 转换为浮点数。
print(float("3.14")) # 输出:3.14
print(float(123)) # 输出:123.0
- str(x):将 x 转换为字符串。
print(str(123)) # 输出:'123'
print(str(3.14)) # 输出:'3.14'
- list(x):将 x 转换为列表。
print(list((1, 2, 3))) # 输出:[1, 2, 3]
print(list("abc")) # 输出:['a', 'b', 'c']
(二)数学相关函数
- abs(x):返回 x 的绝对值。
print(abs(-5)) # 输出:5
print(abs(3.14)) # 输出:3.14
- max(iterable):返回可迭代对象中的最大值。
print(max([1, 3, 5, 2, 4])) # 输出:5
- min(iterable):返回可迭代对象中的最小值。
print(min((1, 3, 5, 2, 4))) # 输出:1
- sum(iterable):返回可迭代对象中所有元素的和。
print(sum([1, 2, 3, 4, 5])) # 输出:15
(三)迭代相关函数
- len(iterable):返回可迭代对象的长度。
print(len("hello")) # 输出:5
print(len([1, 2, 3])) # 输出:3
- range(start, stop, step):生成一个从 start 到 stop(不包含 stop),步长为 step 的整数序列。
for i in range(1, 10, 2):
print(i, end=' ') # 输出:1 3 5 7 9
- enumerate(iterable):返回一个枚举对象,包含索引和对应的元素。
fruits = ['apple', 'banana', 'orange']
for index, fruit in enumerate(fruits):
print(index, fruit)
# 输出:
# 0 apple
# 1 banana
# 2 orange
(四)其他常用函数
- print(x):将 x 输出到控制台。
print("Hello, Python!") # 输出:Hello, Python!
- input(prompt):接收用户的输入,返回一个字符串。
name = input("请输入你的名字:")
print("你好," + name)
- type(x):返回 x 的数据类型。
print(type(123)) # 输出:<class 'int'>
print(type("abc")) # 输出:<class 'str'>
- len(iterable):返回可迭代对象的长度,前面已提及,在此再次强调其常用性。
总结
常见语句包括条件语句、循环语句及循环控制语句、异常处理语句,可实现不同条件下的代码执行与错误处理。内置函数涵盖数据类型转换、数学相关、迭代相关等类别,能提升编程效率。掌握这些知识,有助于编写高效优雅的 Python 代码。