版权所有,未经许可,禁止转载
函数是一段可供调用的代码。
可以将数据(称为参数)传递到函数中。
函数可以返回数据作为执行结果。
在Python中,函数使用def
关键字定义:
示例
def my_function():
print("来自my_function函数的问候")
调用函数,使用函数名后跟圆括号:
示例
def my_function():
print("来自my_function函数的问候")
my_function()
可以给函数传递参数。
参数在函数名后面的括号中指定。您可以添加任意数量的参数,只需用逗号分隔即可。
下面的示例中,有一个带有一个参数(fname)的函数。当函数被调用时,传递一个城市,打印出城市全名:
示例
def my_function(fname):
print(fname + "市")
my_function("杭州")
my_function("南京")
my_function("成都")
函数的参数可以设置默认值,调用时如果没有传入参数值,则使用默认的参数值。
示例
def my_function(city = "杭州"):
print("我住在" + city)
my_function("南京")
my_function("上海")
my_function()
my_function("成都")
函数的参数可以是任何数据类型(string、number、list、dictionary等),在函数内部参数数据类型不变。
例如,如果你可以把一个列表作为函数参数传入,在函数内部它仍然是一个列表:
示例
def my_function(vehicle):
for x in vehicle:
print(x)
vehicle = ["自行车", "汽车", "高铁"]
my_function(vehicle)
要让函数返回值,使用return
语句:
示例
def my_function(x):
return 10 * x
print(my_function(2))
print(my_function(7))
print(my_function(8))
Python还允许函数递归,即函数可以自己调用自己。
递归是一个常见的数学和编程概念。在编程中,使用递归应该小心,用得好,递归可以是非常优雅的编程方式,用不好,递归容易导致死循环和栈溢出。
在下面例子中,tri_recursion()
是一个递归函数,我们使用k变量作为参数,在每次递归时递减(-1),当k小于等于0时递归结束。
递归有一定的复杂性,弄清楚它到底是如何工作的,最好的方法是修改、测试它。
示例
def tri_recursion(k):
if(k>0):
result = k + tri_recursion(k-1)
print(result)
else:
result = 0
return result
print("\n\n递归示例结果:")
tri_recursion(10)
原文:https://www.cnblogs.com/haibianren/p/11811170.html