Python函数的定义、调用和传参
Python是一门面向对象的编程语言,具有简单易读、可扩展性强、支持多种程序范式等特点,它的函数定义、调用和传参是编写Python程序的基础,下面将详细介绍。
一、函数的定义
在Python中,使用def关键字来定义函数,其语法结构如下:
def function_name(parameters):
"""
docstring(函数文档字符串)
"""
statement(s)
return [expression]
其中,function_name为函数名;parameters为函数参数,可以是0个或多个;docstring用于给函数添加注释说明,可以用单引号(' ')或双引号(" ")括起来;statement(s)是函数执行的语句块;return语句用于返回函数的结果值,可选项。
例如,定义一个计算两数之和的函数add:
def add(x, y):
"""
计算两个数之和
"""
result = x + y
return result
二、函数的调用
定义好的函数需要进行调用才能执行函数内的语句块,通常的方法是通过函数名加上实参列表来调用函数:
function_name(arguments)
其中,function_name为函数名;arguments为实参列表,包含在函数调用中实际传递的参数。
例如,调用上面定义的add函数:
print(add(1, 2)) # 输出3
三、函数的传参
在Python中,函数的参数传递方式有两种:位置参数和关键字参数。
1.位置参数
位置参数顾名思义,就是通过参数的位置来传递。
例如,定义一个计算指定数字的n次幂的函数power:
def power(x, n):
"""
计算x的n次幂
"""
result = x ** n
return result
调用函数时,需要按照声明函数时的参数顺序传递参数:
print(power(2, 3)) # 输出8
2.关键字参数
关键字参数指的是通过参数名来传递参数,与位置参数不同,传递顺序可以任意排列,使得函数调用更加灵活。
例如,调用add函数时,使用关键字参数:
print(add(x=1, y=2)) # 输出3
同时也可以混合使用位置参数和关键字参数:
print(add(1, y=2)) # 输出3
在函数定义时也可以设置默认参数,即调用函数时不传递该参数时,函数会自动使用默认值。
例如,重新定义add函数,为y设置默认值为1:
def add(x, y=1):
"""
计算某数加1的结果
"""
result = x + y
return result
这时调用add函数时,可以只传递一个参数:
print(add(1)) # 输出2
总之,在Python中,函数定义、调用和实参传递都是很方便的,减少了编写繁琐代码的工作量,同时也为Python程序的可读性、可维护性和扩展性做出了很好的贡献。
