Python函数教程:如何定义函数和调用函数
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 函数,接收两个参数 x 和 y,并将它们相加。在函数体内使用 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 函数,接收三个参数 name,age 和 city,并将它们输出到控制台。在函数调用时,我们按照参数的定义顺序传递参数,输出结果为 "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=23、name="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 函数,其中 age 和 city 参数都使用了默认值。在函数调用中,我们只传递了 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) 函数可以输出该函数的文档。
