函数是一段可以被多次执行的代码块,其可以接受参数并返回值。Python中的函数定义以def关键字开始,后跟函数名和一对括号,括号内包含函数参数列表(可选),最后以冒号结尾。函数定义的主体部分可以包含任意数量的语句,可以使用return语句返回值(可选)。
# 定义一个简单的函数,用于打印一个问候语
def say_hello():
print("Hello, World!")
# 调用函数
say_hello() # 输出:Hello, World!
函数可以接受任意数量的参数,参数可以指定默认值。在函数调用时,可以根据需要传递参数值。
# 定义一个接受参数的函数
def greet(name):
print("Hello, " + name + "!")
# 调用函数并传递参数
greet("Alice") # 输出:Hello, Alice!
greet("Bob") # 输出:Hello, Bob!
函数可以返回一个值,可以在return语句中指定返回的值。如果没有指定返回值,则默认返回None。
# 定义一个返回值的函数
def square(x):
return x * x
# 调用函数并获取返回值
result = square(5)
print(result) # 输出:25
在函数内部定义的变量属于局部作用域,即只能在函数内部使用。如果要在函数外部访问函数内部定义的变量,可以使用global关键字将变量声明为全局变量。
# 定义一个使用局部变量的函数
def func():
x = 10 # 局部变量
print("x =", x)
func() # 输出:x = 10
print("x =", x) # 报错:NameError: name 'x' is not defined
# 定义一个使用全局变量的函数
y = 20 # 全局变量
def func2():
global y
y = 30
print("y =", y)
func2() # 输出:y = 30
print("y =", y) # 输出:y = 30
闭包是一种函数式编程的概念,其允许在函数内部定义的函数访问外部函数的变量。闭包可以通过使用嵌套函数实现。在Python中,闭包使用nonlocal关键字实现。
# 定义一个闭包函数
def outer_func():
x = 10 # 外部函数变量
def inner_func():
nonlocal x
x += 5
print("x =", x)
return inner_func
# 调用闭包函数
func = outer_func()
func() # 输出:x = 15
func() # 输出:x = 20
以上是Python函数的基本用法,可以根据需要定义和使用函数来实现代码的重复利用和模块化设计。