使用def定义函数的基础知识
函数是一种用于执行特定任务的代码段。它们可以被定义在程序中并多次使用,避免重复编写相同的代码。在Python中,使用关键字def定义函数。本文将介绍使用def定义函数的基础知识。
定义一个函数
函数的大多数定义看起来像这样:
def function_name(parameters):
"""docstring"""
statement(s)
行包含关键字def,后面跟着函数的名字和括号。如果函数需要参数,它们应该在括号内指定。如果多个参数需要被传递,它们应该用逗号分隔。
函数名和参数列表后的冒号表示函数定义的开始。下一行通常是一个docstring,对函数的描述和功能进行了解释。
最后,函数主体由一系列Python语句组成,这些语句执行函数所描述的操作。
例如,下面是一个简单的函数,它将两个数字相加并返回它们的总和。
def add_numbers(x, y):
"""This function adds two numbers"""
result = x + y
return result
调用一个函数
函数定义后,可以在程序的任何地方调用它。要调用函数,请在函数名称后跟括号,并通过逗号分隔的参数传递所需的值。
例如,要使用上面定义的add_numbers函数,在程序中调用以下代码:
result = add_numbers(3, 5) print(result)
这将输出8,它是3和5的和。
关于返回值
在上面的add_numbers函数中,用return语句返回了求和的结果。如果函数没有显式地返回任何内容,则它将返回None。因此,在调用函数之后,可以通过变量来存储函数的结果,如上例所示。
关于命名参数与关键字参数
在定义函数时,参数可以按名称分配默认值。这些是命名参数。调用函数时,命名参数可以被省略,如果不需要改变默认值。如果需要改变默认值,则可以指定参数的值。
def greet(name, greeting='Hello'):
"""This function greets a person with the provided greeting"""
print(greeting + ', ' + name)
greet('Tom') # 输出: Hello, Tom
greet('Tom', greeting='Hi') # 输出: Hi, Tom
在上面的代码中,greeting是命名参数,其默认值为“Hello”。在 个函数调用中,只提供了一个参数,并且该参数与name参数匹配,使用默认的greeting值。在另一个函数调用中,显式地提供了greeting参数的值为“Hi”。
关键字参数也可以用来调用函数。例如,相同的函数可以通过以下方式调用:
greet(name='Tom', greeting='Hi')
一般而言,使用命名参数便于阅读代码,因为它描述了每个参数在函数中的作用。
总结
通过使用def关键字,Python函数可以被方便地定义和调用。函数被设计用于执行特定的任务,在程序中多次执行。定义函数时,可以指定函数名称和参数列表,还可以为每个参数提供默认值。调用函数时可以指定参数的值,并且可以使用关键字参数调用它们。了解这些基础知识,将帮助您在Python中编写更加清晰和可重用的代码。
