一、函数
函数(Function)也叫方法(Method),是一组可以重复使用的代码段。函数分为内部函数和用户自定义函数。内部函数就是编程语言已经写好了,用户无序定义就能直接调用的函数,比如说len()、str()、print()等,但是这些函数还远不能满足实际开发,故用户可以自定义函数。函数的结构是
def 函数名(参数):
#(注意缩进)
函数体
return 返回值
其中函数的参数和返回值可以省略。函数可以被重复调用。调用时只需要写函数名和括号、参数(若有参数的话)就行
# 定义函数(这里没有参数和返回值)
def my_function():
print("调用了此函数")
# 调用函数,这里调用三次
my_function()
my_function()
my_function()
二、参数
参数就是在调用函数时给函数处理的变量,可以是0个,也可以是一个或多个。若在定义函数时需要参数(形参),而在调用函数时却没有传入参数(实参)则会报错
# 定义函数,输出传入的参数
def sayhello(a):
print(a)
# 调用函数,传入的参数不一样
sayhello("hello")
sayhello("你好呀")
sayhello() # 调用时没有给参数,报错
为了避免因缺少参数值而报错的情况,可以在定义函数时就给它一个默认值
def sayhello(a="hi"):
print(a)
sayhello("hello")
sayhello() # 不给参数,输出默认的hi
若定义函数时使用了多个参数,在调用时该函数传入的参数位置应与定义时一致。但若在定义时指定了形参默认值则实参可以不按顺序
def my_fun(a=1, b=2):
print(a)
print(b)
my_fun(b=4,a=3) # 先输出3,再输出4
三、返回值
若执行完一个函数得到一个值(也可以是其他),可以将其返回。比如说定义一个加法函数,计算完之后返回计算结果,并把结果赋值给一个变量
def add(a, b):
c = a + b
return c # 这里返回单个值,若要返回多个值,可以让它返回一个列表
d = add(1, 2)
print(d)
e = add(3, 4)
print(e)
返回值可以是变量、确定的值、列表等,还可以是一个函数,比如说返回函数本身,实现阶乘
def factorial(a):
if a <= 1:
s = 1
else:
s = a*factorial(a-1)
return s
print( factorial(3) )