Python函数详解:定义、参数、返回值与全局变量

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

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。

博客

书籍推荐