python定义函数的规则有哪些?

  • Post category:Python

Python 是一门面向对象的编程语言,其中定义函数是一项非常重要的功能。下面,我将详细讲解 Python 定义函数的规则。

1. 定义函数的基本语法:

在 Python 中定义函数遵循以下基本语法:

def function_name(parameters):
    """docstring"""
    statement(s)

其中,function_name 表示函数名称,parameters 是函数的参数列表,可以为空;docstring 是函数的描述字符串,可以为空;statement(s) 是函数要执行的语句。

例如,定义一个打印人名的函数:

def print_name(name):
    """这是一个打印名字的函数"""
    print("Hello, " + name)

调用该函数:

print_name("John")  # 输出:Hello, John

2. 函数的参数传递方式:

Python 中函数的参数传递方式有两种:值传递和引用传递。当调用函数时,按照参数列表的顺序依次传递实参,如果是不可变类型则是值传递,如果是可变类型则是引用传递。

例如,定义一个函数,传入一个列表:

def change_list(mylist):
    """这是一个修改列表的函数"""
    mylist.append("orange")
    print("修改后的列表:", mylist)

调用该函数:

fruits = ["apple", "banana"]
change_list(fruits)
print("原始列表:", fruits)

输出结果为:

修改后的列表: ['apple', 'banana', 'orange']
原始列表: ['apple', 'banana', 'orange']

可见,在函数中修改列表后,原列表也被修改了。

3. 函数的返回值:

Python 中函数的返回值使用 return 语句来实现,return 后面可以跟一个表达式,返回表达式的值。如果没有返回值,则可以省略 return 语句。

例如,定义一个求和函数:

def add_numbers(a, b):
    """这是一个求和函数"""
    result = a + b
    return result

调用该函数:

print(add_numbers(1, 2))  # 输出:3

4. 参数默认值:

Python 中函数可以设置参数的默认值,调用函数时如果不传递参数,则使用默认值。设置默认值的参数必须在参数列表的最后。

例如,定义一个函数,传入两个参数,其中第二个参数有默认值:

def print_info(name, age=18):
    """这是一个打印个人信息的函数"""
    print("Name:", name)
    print("Age:", age)

调用该函数:

print_info("Tom")  # 输出:Name: Tom, Age: 18
print_info("John", 20)  # 输出:Name: John, Age: 20

5. 可变参数:

Python 中的可变参数指的是传入的参数个数是可变的,使用 *args 来实现。在函数内部,可以使用一个元组来接收所有传入的参数。

例如,定义一个函数,传入任意个数的参数,打印参数值:

def print_args(*args):
    """这是一个打印任意个数参数的函数"""
    for arg in args:
        print(arg)

调用该函数:

print_args("Tom", "John", "Mary")  # 输出:Tom John Mary

6. 关键字参数:

Python 中的关键字参数指的是传入的参数是以键值对的形式传入的,使用 **kwargs 来实现。在函数内部,可以使用一个字典来接收所有传入的参数。

例如,定义一个函数,接收任意个数的关键字参数,打印参数名称及值:

def print_kwargs(**kwargs):
    """这是一个打印任意个数关键字参数的函数"""
    for key, value in kwargs.items():
        print("{0} = {1}".format(key, value))

调用该函数:

print_kwargs(name="Tom", age=20, city="Shanghai")  # 输出:name = Tom, age = 20, city = Shanghai

以上就是 Python 定义函数的规则及其用法说明。