Python函数基础
函数是任何Python程序的基石。它们帮助组织代码、避免重复,并创建模块化、可复用的解决方案。
无论是初学者还是有经验的开发者,在使用Python函数时都会遇到一些关键问题:如何正确传递参数?什么是全局变量以及如何操作它们?装饰器有什么用?如何从函数返回多个值?
Python函数的定义与语法
什么是Python函数
函数是一个命名的代码块,可以被多次调用。在Python中,函数使用关键字def创建。
声明与调用函数
声明函数的方式如下:
def greet():
print("你好,世界!")
通过函数名进行调用:
greet()
Python函数可以包含各种指令、条件语句、循环和其他语言结构。正确定义函数有助于创建可读性强且结构清晰的代码。
Python函数的参数
位置参数
位置参数按照定义的顺序传递给函数:
def greet(name):
print(f"你好,{name}!")
greet("安娜")
使用位置参数时,必须保持参数传递的正确顺序。
默认参数
默认参数允许为参数设定默认值,当未传递该参数时使用:
def greet(name="访客"):
print(f"你好,{name}!")
greet() # 你好,访客!
使用默认参数可以提高函数的灵活性,减少必填参数的数量。
关键字参数
关键字参数通过指定参数名进行传递:
def order(item, quantity):
print(f"您订购了{quantity}份{item}")
order(item="披萨", quantity=2)
关键字参数使代码更易读,并允许以任意顺序传递参数。
可变数量参数
Python支持通过*args和**kwargs传递不定数量的参数:
def summation(*args):
print(sum(args))
summation(1, 2, 3, 4) # 10
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="小明", age=30)
*args接收任意数量的位置参数。**kwargs接收任意数量的关键字参数。
从Python函数返回值
return语句基础
函数可以通过return语句返回结果,使函数的结果能在程序其他部分使用:
def add(a, b):
return a + b
result = add(5, 3)
print(result) # 8
return语句会结束函数执行,并将控制权交还给调用处。
返回多个值
Python允许同时返回多个值:
def get_coordinates():
return 10, 20
x, y = get_coordinates()
实际上Python返回的是一个元组,可以解包为单独的变量。这是一种从单个函数获取多个结果的便捷方式。
return的特殊情况
如果函数不包含return语句,它会自动返回None。