Python 函数教程

154 阅读2分钟

函数是一段可以被多次执行的代码块,其可以接受参数并返回值。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函数的基本用法,可以根据需要定义和使用函数来实现代码的重复利用和模块化设计。