写这些博客仅仅是为了监督自己学习 ,加强知识记忆。
什么是函数
函数是一个带名字的代码,用于完成具体的工作;如果有一块代码需要重复使用,那么你就可以把这一块代码定义成一个函数。
函数的定义
在python中定义函数用def,如下定一个函数输出“你好”。
def greet():
print('Hello!')
greet()
def用来告诉python你定义了一个函数,greet为函数名,print(‘Hello!’)为函数要完成的具体工作,greet()调用函数完成具体的工作。
给函数传递参数
如果我们要完成一个任意两个数相加的函数,这时就需要我们把这两个数传递给函数。
def num_add(num1,num2):
sum=num1+num2
print(str(sum))
num_add(1,4) # 输出5
num_add(6,7) # 输出13
函数的参数分为实参和形参,在函数中定义的num1和num2为形参,在调用函数时的1和4,6和7为实参。
在传递参数时实参和形参的位置一定要一一对应,如不对则会输出错误结果,如下我们写一个函数输出“XX喜欢吃XX”.
def person_food(person,food):
print(person+' like eating '+food+'.')
person_food('Tom','apples')
#输出 Tom like eating apples.
#参数位置不对
person_food('apples','Tom')
# 输出 apples like eating Tom.
当然python也提供了另一种不需要考虑顺序的方法来传递参数—关键字实参,说白了也就是我们提前将参数和值关联起来,我们只需要在调用函数的时候这样写,即使顺序不对,也不会把参数传递错误。
person_food(person='Tom',food='apples')
person_food(food='apples',person='Tom')
#都输出 Tom like eating apples.
函数默认值
在定义函数时我们可以给参数设定一个默认值,这样在调用时如果没有输入这个参数,函数将自动采用默认值。
def person_food(person,food='apples'):
print(person+' like eating '+food+'.')
person_food(person='Tom')
person_food(food='bananas',person='Tom')
#输出
# Tom like eating apples.
# Tom like eating bananas.
函数返回值
函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值—返回值,用return可将值返回到调用函数代码行,如上面的计算两个数的和。
def num_add(num1,num2):
sum=num1+num2
return sum
result=num_add(1,4)
print(str(result)) #输出5
注:函数的参数和返回值类型不仅只是数值和字符串,列表、字典亦可作为参数和返回值传递。
(完)