python中编写函数并调用的知识点总结

介绍

函数是程序中经常使用的一种结构,它们可以独立执行、提高代码的可读性以及重复使用。

在Python语言中,函数可以被定义为可调用的代码块;可以传递任意数量的参数,可以从中返回值或引发异常。定义函数可以使程序的逻辑更加清晰,易于阅读和维护。

本文将带领大家了解Python中如何编写函数以及如何调用它们。

定义函数

函数的语法

在Python中,我们可以使用def关键字定义函数。函数的语法如下:

def function_name(parameters):

"""docstring"""

statement(s)

其中,

function_name:函数名称,为便于阅读和理解,函数名通常使用小写字母,单词之间使用下划线分割。

parameters:可选项,函数参数,通过逗号分隔。如果函数不需要参数,则在括号中不需要添加任何内容。

docstring:可选项,函数的文档说明。建议在函数体开始的位置编写文档说明。

statement(s):必要项,Python语句,通过缩进确定代码块。

示例

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

def add_numbers(num1, num2):

"""This function adds two numbers"""

result = num1 + num2

return result

作为参数,该函数接受两个数值,并返回这两个数值的和。

在上述示例中,def关键字用于定义函数,add_numbers是函数名,在括号中是参数列表(num1, num2)。这表示该函数接受两个参数num1和num2。函数体开始的双引号之间的内容是文档字符串。该字符串提供有关函数的信息,使其他人能够更好地阅读和理解代码。

调用函数

在Python中,要调用函数,只需要向函数名称传递参数(如果有)。下面是调用上述add_numbers函数的示例:

result = add_numbers(5, 10)

print(result)

在上述示例中,我们要执行的函数是add_numbers。通过传递两个参数,即5和10。将add_numbers返回的值赋值给变量result。随后调用print语句打印变量的值。

程序输出为:

15

默认参数

Python中的一个强大的功能是支持默认参数。默认参数是指向函数中指定参数的默认值,在调用该函数时,如果不提供该参数的值,则将使用默认参数的值。

函数的语法

定义函数时指定参数的默认值是非常简单的。只需将默认值放在参数名称后面,在函数定义中以等号("=")分隔。下面是具有默认参数的示例:

def greet(name, message='Good morning!'):

"""This function greets to the person with the provided message."""

print("Hello, " + name + ', ' + message)

greet('Kate')

greet('Bruce', 'How do you do?')

在上述示例中,函数greet()接受两个参数:name和message。message参数具有默认值'Good morning!'。如果调用函数时未传递message,将使用默认值。

当函数未提供参数时,默认参数的值是在定义函数时指定的。当函数调用时提供参数时,则使用提供的值而不是默认值。

关键字参数

关键字参数是一种在函数调用时传递参数的方法,通过这种方法,可以忽略传递参数的位置。在这种情况下,关键字参数通过指定其名称来传递。

函数的语法

要指定关键字参数,我们可以使用参数名称作为函数调用中的前缀。下面是一个示例:

def greet(name, message):

"""This function greets to the person with the provided message."""

print("Hello, " + name + ', ' + message)

greet(message='Good morning!', name='Kate')

greet(name='Bruce', message='How do you do?')

在上述示例中,函数greet()接受两个参数:name和message。关键字参数通过指定参数名称来传递,这明显表明它们含义。

在这种情况下,参数的顺序无关紧要;只需要将需要传递的参数名称作为关键字参数使用即可。例如,

greet(message='Good morning!', name='Sam')

greet(name='Jess', message='How do you do?')

与以下代码块具有相同的输出:

greet('Sam', 'Good morning!')

greet('Jess', 'How do you do?')

关键字参数的优势在于,可以明确指定哪个参数具有哪个值,使代码更加清晰易读。

收集参数

在Python中,收集参数是一种允许我们将函数传递给其他参数的方法。我们使用基于可变数量的参数收集,*args和基于关键字的参数收集,**kwargs。

*args参数

*args参数使用形式参数中添加*。在函数定义中,*args参数的参数名称可以是任意名称。它使用参数列表(*args)将任意数量的位置参数收集到元组中。以下是一个示例:

def print_parameters(*args):

for arg in args:

print(arg)

print_parameters('Hello', 'World', 2021, 'Python')

在上述示例中,*args参数用于从函数调用中接受任意数量的变量。我们使用for循环遍历args元组并将其打印到控制台。

**kwargs参数

除了位置参数以外,Python还支持基于关键字的参数传递方式,称之为关键字参数。类似于*args参数,我们可以使用形式参数中添加** kwarg。在函数定义中,**kwargs参数的参数名称可以是任意名称。它使用字典(**kwargs)来接受任意数量的位置参数。以下是一个示例:

def print_parameters(**kwargs):

for key, value in kwargs.items():

print(key, value)

print_parameters(name='Kate', age=30, city='New York')

在上述示例中,**kwargs参数用于从函数调用中接受任意数量的关键字参数。我们使用for循环遍历kwargs字典并将其打印到控制台。

lambda函数

lambda函数,也称为匿名函数,是一种一次性函数,可以在函数定义中创建它们并将其传递给其他一些函数。lambda表达式不同于def语句,def语句可以创建具有名称的函数而lambda声明是一次性的,并且返回一个函数对象。

函数的语法

lambda函数具有一个简单的语法。可以只传递一个表达式。Lambda函数可以有任意数量的参数,将这些参数1包含在冒号后面,并且它们之间使用逗号分隔。以下是一个示例:

add = lambda num1, num2: num1 + num2

print(add(10, 20))

在上述示例中,我们使用lambda函数将两个数字相加。在函数定义中,我们命名了函数并定义了传递给函数的参数。这个lambda函数将两个数字相加并将结果返回。

结论

到目前为止,我们对Python中函数的定义和调用有了基本了解。学习这些基础知识应该是每一个Python程序员的首要任务。本文中提到的函数进一步展示了Python的优雅和可读性。

学会如何定义和调用函数时,可以将您的代码打造成完全重用和可读性更强的模块化。它们还允许您在使用脚本编写代码时更好地组织代码。

在今天的教程中,我们已经介绍了Python中函数的定义和调用、默认参数、收集参数以及lambda函数的重要性。掌握这些内容是成为Python程序员的重要步骤。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签