下面是Python自定义函数教程的完整攻略。
一、函数是什么
函数是计算机程序中一个重要的概念,它像是一个黑盒子,接收输入,完成操作并返回输出。函数一般包括以下3部分内容:
- 函数名:用来标识函数的名称。
- 输入参数:函数的输入参数,可以是0个、1个或多个。
- 返回值:函数的输出结果,可以是任意类型,也可以没有返回值。
二、Python自定义函数的基本语法
Python自定义函数的语法格式如下:
def function_name(parameters):
"""函数说明文档"""
function_body
return [expression]
其中,def
关键字后面跟着函数名和一对小括号,括号中可以包含0个或多个参数,多个参数之间用逗号隔开。函数体是缩进的代码块,可以包含0条或多条语句,最后可选返回一个表达式的值(注:如果函数没有return语句,则返回None)。
下面是一个简单的例子,定义一个函数来计算两个数字的和:
def add(num1, num2):
"""计算两个数字的和"""
result = num1 + num2
return result
三、Python自定义函数的参数传递
Python自定义函数的参数传递方式主要有以下几种:
1. 位置参数
位置参数是指按照顺序传递的参数,函数内部按照形参的位置进行匹配。例如:
def func1(a, b, c):
print(a, b, c)
func1(1, 2, 3) # 输出:1 2 3
func1(3, 2, 1) # 输出:3 2 1
2. 关键字参数
关键字参数是指通过'key=value'的形式进行传递,函数内部按照形参的名称进行匹配。例如:
def func2(a, b, c):
print(a, b, c)
func2(a=1, b=2, c=3) # 输出:1 2 3
func2(c=3, b=2, a=1) # 输出:1 2 3
3. 默认参数
默认参数是指在定义函数时,给参数设置默认值,在调用函数时如果不传递此参数则使用默认值。例如:
def func3(a, b=2, c=3):
print(a, b, c)
func3(1) # 输出:1 2 3
func3(1, 4) # 输出:1 4 3
func3(1, 4, 5) # 输出:1 4 5
4. 可变参数
可变参数是指传递一个元组或列表,函数内部可以通过*args来接收,且在调用函数时可以传递任意多个参数。例如:
def func4(*args):
print(args)
func4(1, 2, 3) # 输出:(1, 2, 3)
func4('a', 'b', 'c', 'd') # 输出:('a', 'b', 'c', 'd')
5. 关键字可变参数
关键字可变参数是指传递一个字典,函数内部可以通过**kwargs来接收,且在调用函数时可以传递任意多个关键字参数。例如:
def func5(**kwargs):
print(kwargs)
func5(a=1, b=2, c=3) # 输出:{'a': 1, 'b': 2, 'c': 3}
func5(name='Tom', age=20) # 输出:{'name': 'Tom', 'age': 20}
四、Python函数的return语句
Python函数可以使用return语句返回函数的值。当函数调用返回时,return语句将会传回表达式的值。例如:
def sum(a, b):
total = a + b
return total
result = sum(1, 2)
print(result)
该函数将返回两个参数的和,这个和将被赋值给变量result,并被输出。
五、Python函数的递归
Python函数可以递归调用,即函数调用自身的过程。在函数内调用函数本身,成为递归函数。例如:
def factorial(num):
if num == 1:
return 1
else:
return num * factorial(num - 1)
print(factorial(5)) # 输出:120
在此例中,factorial()函数调用了本身,并使用return语句返回了值。当num == 1时,函数返回1。否则,函数返回一个数与factorial()函数的返回值相乘的结果。
以上就是Python自定义函数教程的完整攻略,其中包括了函数的定义、参数传递、返回值以及递归调用等基础内容,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python自定义函数教程 - Python技术站