Python 新手必学:这 10 个内置函数能省一半代码

掌握Python内置函数能显著提升开发效率。以下是10个能简化代码的核心函数,每个都附带实用示例:

1. enumerate():自动索引迭代
fruits = ['苹果', '香蕉', '橙子']
# 传统写法
for i in range(len(fruits)):
    print(f"索引{i}: {fruits[i]}")

# 精简写法
for idx, fruit in enumerate(fruits):
    print(f"索引{idx}: {fruit}")

2. zip():多序列并行处理
names = ['Alice', 'Bob']
scores = [85, 92]
# 传统写法
for i in range(len(names)):
    print(f"{names[i]}: {scores[i]}分")

# 精简写法
for name, score in zip(names, scores):
    print(f"{name}: {score}分")

3. sorted():智能排序
data = [('Bob', 25), ('Alice', 30), ('Eve', 22)]
# 按年龄排序
sorted_data = sorted(data, key=lambda x: x[1])
print(sorted_data)  # 输出: [('Eve',22), ('Bob',25), ('Alice',30)]

4. map():批量转换
nums = ["1", "2", "3"]
# 传统转换
int_nums = []
for n in nums:
    int_nums.append(int(n))

# 精简写法
int_nums = list(map(int, nums))

5. filter():条件筛选
numbers = [12, 7, 18, 5, 21]
# 筛选偶数
even_nums = list(filter(lambda x: x % 2 == 0, numbers))
print(even_nums)  # 输出: [12, 18]

6. any()/all():逻辑判断
checks = [False, True, False]
print(any(checks))  # 输出: True (任一为真)
print(all(checks))  # 输出: False (非全为真)

7. eval():动态执行(慎用)
formula = "2 * 3 + 4"
result = eval(formula)  # 输出: 10

8. isinstance():类型检查
value = 3.14
if isinstance(value, (int, float)):
    print("有效数值")  # 避免冗长的type()判断

9. getattr():动态属性访问
class User:
    name = "Alice"

# 动态获取属性
attr_name = "name"
print(getattr(User, attr_name))  # 输出: Alice

10. round():精确舍入
pi = 3.14159
print(round(pi, 2))  # 输出: 3.14
print(round(pi, 3))  # 输出: 3.142

使用技巧

  1. 链式组合:如map(filter(...))实现复杂转换
  2. 与推导式配合[x for x in map(...)]更高效
  3. 类型标注:使用-> List等提高可读性

这些函数能减少循环嵌套、避免冗余代码,特别在处理数据集时效果显著。掌握它们可使代码量减少30%-50%,同时提升可读性和执行效率。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐