什么是函数
函数是一种仅在调用时运行的代码块。
函数可以将参数传递到函数中,把数据作为结果返回。
创建函数
def
关键字是用来定义函数
def my_function():
print("Hello my_function")
注意:没有调用就没有返回结果
调用函数
在函数名称后跟括号,可以调用函数
def my_function():
print("Hello my_function")
my_function()
参数
各种数据可以作为参数传递给函数,参数在函数名后的括号内指定,需用逗号分隔即可
def my_function(name):
print(name + " Tom")
my_function("Jerry")
my_function("Steve")
my_function("Bob")
默认参数值
调用了不带参数的函数,则使用默认值
def my_function(country = "China"):
print("I am from " + country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")
List 传参
函数的参数可以是接受任何数据类型,如:字符串、数字、列表、字典等,且在函数内将被视为相同数据类型
def my_function(food):
for x in food:
print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)
返回值
return
可以使函数返回值
def my_function(x):
return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))
关键字参数
您还可以使用 key = value 语法发送参数。
参数的顺序无关紧要。
def my_function(child3, child2, child1):
print("The youngest child is " + child3)
my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")
非关键字参数
如果不知道入参的个数,则在函数定义的参数名称前添加 *,函数将接收一个参数元组
def my_function(*name):
print("The youngest child is " + name[2])
my_function("Tom", "Jim", "Bob")
pass 语句
函数定义不能为空,如果函数内暂时没有内容则使用pass
来代替
def myfunction():
pass
递归
递归是函数调用自身。这样做的好处是可以循环访问数据达到结果。
def tri_recursion(k):
if(k>0):
result = k+tri_recursion(k-1)
print(result)
else:
result = 0
return result
print("Results:")
tri_recursion(6)