欢迎访问宙启技术站
智能推送

Python函数教程:如何定义函数和调用函数

发布时间:2023-06-16 13:50:40

Python 函数是一种定义在程序中的可重用代码块,它可以接收输入参数并返回输出结果。在 Python 中,我们可以定义自己的函数,并且也可以使用内置函数库中的函数。本篇教程将教您如何定义函数和调用函数。

### 1. 如何定义函数?

在 Python 中,我们可以使用关键字 def 来定义自己的函数。

def function_name(parameters):
    function_body
    return [expression]

* function_name: 函数名。

* parameters: 函数的参数列表,可以为空。

* function_body: 指定函数的主体,包含代码块。

* return [expression]: return 语句在 Python 函数中用于指定函数的返回值。可选项。

例如,下面是一个简单的 Python 函数示例:

def greet(name):
    print("Hello, " + name + "!")

greet("Alice")

输出结果:

Hello, Alice!

在上面的示例中,我们定义了一个 greet 函数,用于输入一个名称,并输出欢迎信息。函数接收一个参数 name,在函数体内使用 print 函数输出欢迎信息。我们可以使用 greet("Alice") 调用该函数来输出 "Hello, Alice!"。

### 2. 如何调用函数?

在 Python 中,我们可以使用函数名和参数列表来调用函数。

function_name(arguments)

* function_name: 要调用的函数名。

* arguments: 传递给函数的参数列表,可以为空。

例如,使用上一个示例中的 greet 函数,我们可以这样调用该函数:

greet("Bob")

输出结果:

Hello, Bob!

可以看到,我们使用 greet("Bob") 调用函数,并将一个参数 "Bob" 传递给该函数。函数接收该参数并输出 "Hello, Bob!"。

### 3. 函数的返回值

在 Python 中,我们可以使用 return 语句指定函数的返回值。return 语句通常出现在函数的末尾,可以在函数体内的任何位置使用。如果没有指定 return 语句,则函数默认返回 None

下面是一个简单的函数示例,用于计算两个数的和:

def add_numbers(x, y):
    sum = x + y
    return sum

result = add_numbers(3, 4)
print(result)

输出结果:

7

在上面的示例中,我们定义了一个 add_numbers 函数,接收两个参数 xy,并将它们相加。在函数体内使用 return 语句返回计算结果。我们使用 result 变量来接收函数的返回值,并使用 print 函数输出结果。最终输出 "7"。

### 4. 函数的参数

Python 函数可以接收任意数量的参数。参数可以按照传递的顺序进行访问,也可以通过关键字进行访问。在函数定义时,我们可以使用参数默认值来指定参数的默认值。

#### 4.1 按照传递顺序访问参数

在函数定义时,我们可以通过一个参数列表来定义函数的参数。

def function_name(parameter1, parameter2, parameter3, ...):
    function_body

在函数调用时,我们可以按照函数定义中参数的顺序传递参数。例如,下面是一个使用按照顺序传递参数的示例:

def print_info(name, age, city):
    print(f"{name} is {age} years old and lives in {city}.")

print_info("Alice", 23, "New York")

输出结果:

Alice is 23 years old and lives in New York.

在上面的示例中,我们定义了一个 print_info 函数,接收三个参数 nameagecity,并将它们输出到控制台。在函数调用时,我们按照参数的定义顺序传递参数,输出结果为 "Alice is 23 years old and lives in New York."。

#### 4.2 按照关键字访问参数

除了按照传递顺序访问参数外,Python 还允许我们使用关键字来访问参数。在函数调用时,我们可以使用 parameter_name=value 的形式传递参数。例如,下面是一个使用关键字访问参数的示例:

def print_info(name, age, city):
    print(f"{name} is {age} years old and lives in {city}.")

print_info(age=23, name="Alice", city="New York")

输出结果:

Alice is 23 years old and lives in New York.

在上面的示例中,我们使用 age=23name="Alice"city="New York" 的形式指定传递的参数。由于我们使用了关键字,参数的顺序不再重要。输出结果与按照函数定义的参数顺序传递参数的示例相同。

#### 4.3 参数默认值

在函数定义时,我们可以使用参数默认值来指定参数的默认值。如果用户在调用函数时没有指定值,函数将使用默认值。

def function_name(parameter1=default_value1, parameter2=default_value2, ...):
    function_body

例如,下面是一个使用参数默认值的示例:

def print_info(name, age=18, city="New York"):
    print(f"{name} is {age} years old and lives in {city}.")

print_info("Alice")

输出结果:

Alice is 18 years old and lives in New York.

在上面的示例中,我们定义了一个 print_info 函数,其中 agecity 参数都使用了默认值。在函数调用中,我们只传递了 name 参数,因此函数使用了参数的默认值。输出结果为 "Alice is 18 years old and lives in New York."。

### 5. 函数的文档

在 Python 中,我们可以为函数添加文档,以便其他人更容易地理解该函数的作用。文档通常包括函数的功能、参数和返回值等信息。我们可以使用字符串来文档化函数。

def function_name(parameters):
    """
    文档字符串
    """
    function_body
    return [expression]

例如,下面是一个使用文档字符串的示例:

def greet(name):
    """
    输出问候语

    参数:
    name -- 字符串,表示名字
    """
    print("Hello, " + name + "!")

我们可以使用 help 函数来查看函数的文档:

help(greet)

输出结果:

Help on function greet in module __main__:

greet(name)
    输出问候语

    参数:
    name -- 字符串,表示名字

由于我们已经使用文档字符串文档化了 greet 函数,因此 help(greet) 函数可以输出该函数的文档。