Python函数完全指南:从基础到lambda表达式

Python函数完全指南:从基础到lambda表达式

python-cheatsheet All-inclusive Python cheatsheet python-cheatsheet 项目地址: https://gitcode.com/gh_mirrors/pyt/python-cheatsheet

函数基础概念

在Python编程中,函数是组织代码的基本单元,它封装了特定功能的代码块,可以被重复调用。函数的使用能显著提高代码的可读性和复用性。

函数定义与调用

定义一个函数需要使用def关键字,后接函数名和圆括号内的参数列表:

def greet(name):
    print(f"你好, {name}!")

调用函数时只需使用函数名加上参数:

greet("张三")  # 输出: 你好, 张三!

函数参数详解

位置参数

位置参数是最基本的参数传递方式,按照定义时的顺序接收参数:

def describe_pet(animal_type, pet_name):
    print(f"我有一只{animal_type},它的名字叫{pet_name}。")

describe_pet("狗", "旺财")  # 输出: 我有一只狗,它的名字叫旺财。

关键字参数

关键字参数通过参数名显式指定值,提高了代码可读性:

describe_pet(pet_name="咪咪", animal_type="猫")  # 输出: 我有一只猫,它的名字叫咪咪。

返回值机制

函数可以通过return语句返回结果,返回值可以是任意类型:

def calculate_area(width, height):
    return width * height

room_area = calculate_area(5, 4)  # 返回20

变量作用域规则

局部变量与全局变量

  • 局部变量:函数内部定义的变量,只在函数内有效
  • 全局变量:函数外部定义的变量,整个程序可见
global_var = "全局可见"

def show_vars():
    local_var = "仅函数内可见"
    print(global_var)  # 可以访问全局变量
    print(local_var)   # 可以访问局部变量

show_vars()
print(local_var)  # 报错:未定义

global关键字

要在函数内修改全局变量,需要使用global声明:

count = 0

def increment():
    global count
    count += 1

increment()
print(count)  # 输出1

Lambda表达式

Lambda是简洁的单行匿名函数,适合简单的操作:

# 普通函数
def square(x):
    return x ** 2

# 等效的lambda表达式
square = lambda x: x ** 2

print(square(5))  # 输出25

Lambda的闭包特性

Lambda可以捕获外部作用域的变量,形成闭包:

def make_multiplier(n):
    return lambda x: x * n

double = make_multiplier(2)
triple = make_multiplier(3)

print(double(5))  # 输出10
print(triple(5))  # 输出15

最佳实践建议

  1. 函数应该保持单一职责原则,每个函数只做一件事
  2. 合理使用参数默认值简化调用
  3. 避免过度使用全局变量
  4. 对于简单操作,考虑使用lambda表达式
  5. 为函数添加文档字符串说明其功能

通过掌握这些函数相关概念,你可以编写出更加模块化、可维护的Python代码。函数是Python编程的核心概念之一,深入理解它们将显著提升你的编程能力。

python-cheatsheet All-inclusive Python cheatsheet python-cheatsheet 项目地址: https://gitcode.com/gh_mirrors/pyt/python-cheatsheet

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仲玫千Samson

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值