了解Python中的函数——函数定义和调用
Python是一门解释性、面向对象、动态语言,它广泛应用于数据科学、机器学习、人工智能、Web开发、游戏开发等领域。在Python中,函数是一种非常重要和常用的程序代码块,它可以完成特定的任务,且被多次重复调用。本文将着重介绍Python中的函数定义和调用。
一、函数定义
函数定义是指在Python中用def语句定义一个函数。函数定义的一般形式如下:
def function_name(parameters):
"""docstring"""
statement(s)
其中,function_name是函数名,parameters是参数列表,docstring是函数的说明文档(可选),statement(s)是函数的具体执行语句。
1.函数名
函数名是Python中定义函数的标识符,遵循标识符的命名规则。函数名用于 标识一个函数,方便程序员在其他地方调用该函数。函数名的命名规则和变量名相同,一般采用下划线分割多个单词,命名体现函数的功能和含义。
2.参数列表
参数列表是函数的形式参数,用于接收传递给函数的数据。参数列表是用括号括起来的,多个参数用逗号隔开。Python中的参数可分为位置参数、默认参数和关键字参数。
位置参数:函数定义中的 个参数是位置参数。例如:
def add(x, y):
return x + y
在函数add中,x和y就是位置参数。
默认参数:可以在函数定义时为参数设置默认值,这些参数称为默认参数。例如:
def add(x, y=2):
return x + y
在函数add中,默认参数y=2,表示当调用函数时不传递该参数时,y默认为2。
关键字参数:可以不按顺序传递参数,而是以关键字的形式显式传递参数,这些参数称为关键字参数。例如:
def add(x, y):
return x + y
a = add(y=3, x=2)
print(a)
在代码中,调用函数add时不按参数顺序传递参数,而是使用关键字参数的形式,x=2和y=3,因此输出结果为5。
3.函数说明文档
函数说明文档是对函数功能和使用说明的说明字符串,用三引号括起来,一般位于函数定义的 行。例如:
def add(x, y):
"""Return the sum of x and y"""
return x + y
通过help(add)命令可以查看函数说明文档。
4.函数执行语句
函数执行语句是函数体内的具体执行语句,用于完成函数的具体功能。函数体内可以包含一个或多个语句,一般以return、yield或raise命令作为函数的结束,将函数执行结果返回给调用它的地方。
二、函数调用
函数调用是指在代码中使用函数名和参数列表来调用函数,以执行函数体内的语句,获取函数的返回值。函数调用的语法如下:
function_name(arguments)
其中,function_name是函数名,arguments是实际参数,用于传递给函数。
1.传统的函数调用
传统的函数调用是指按照函数定义时的顺序传递参数。例如:
def add(x, y):
return x + y
a = add(1, 2)
print(a)
在代码中,定义了一个函数add,接受2个参数x和y,并返回它们的和。调用函数时传递了实参1和2,返回结果为3。
2.关键字参数调用
可以使用关键字参数的形式传递参数,使代码更具可读性。例如:
def add(x, y):
return x + y
a = add(y=2, x=1)
print(a)
在代码中,调用函数add时以关键字参数的形式传递参数,使代码更具有可读性。
3.默认参数调用
如果函数定义时设置了默认参数,可以省略该参数,使用默认值。例如:
def add(x, y=2):
return x + y
a = add(3)
print(a)
在代码中,调用函数add时省略了默认参数y,使用默认值2。
4.不定长参数
如果函数可能需要接受不定长的参数,可以使用*args和**kwargs。
*args:用于传递不定数量的位置参数。例如:
def add(*args):
sum = 0
for i in args:
sum += i
return sum
a = add(1, 2, 3, 4)
print(a)
在代码中,调用函数add时可以传入任意个参数,*args接收所有参数并求和。
**kwargs:用于传递不定数量的关键字参数。例如:
def print_info(**kwargs):
for key, value in kwargs.items():
print(key, value)
print_info(name="Jack", age=25, gender="male")
在代码中,调用函数print_info时可以传入任意数量的关键字参数,**kwargs接收所有参数并打印出来。
总之,函数是Python语言中的重要组成部分,函数定义和调用是Python编程中必须掌握的知识点。在Python中,函数可以接受不同类型和数量的参数,并返回一个结果。函数的实现可以帮助程序员解决问题,提高代码的重用性和可维护性。
