python函数的定义与调用
在python中 ,函数是一个组织好的 ,可以重复使用的代码段 ,函数可以提高代码的重复利用率 ,原则上一个函数只实现一个单一的功能 ,这样能增强程序的模块性, python有许多的内置函数可供你使用, 你也可以自己定义函数,这通常被称之为自定义函数
1. 函数的定义
def 函数名(参数列表):
函数体
先看几个示例
def hello_word():
pass
def print_diamond(count):
pass
def get_max(a, b, c):
pass
关于上面这段代码,你要记住下面3个结论
函数可以没有参数
函数的参数可以是一个,也可以是多个
pass的作用相当于占位符,没有实际作用
2. 函数的调用
示例1, 定义并调用没有参数的函数
def hello_word():
print('hello world')
hello_word()
示例2, 定义并调用有一个参数的函数
def print_diamond(count):
"""
输出菱形
"""
for i in range(count):
if i <= count//2:
print(" "*(count//2-i) + "*"*(2*i + 1))
else:
print(" "*(i - count//2) + "*"*((count-i)*2-1))
print_diamond(11)
示例3, 定义并调用有三个参数的函数
def get_max(a, b, c):
max_number = a
if b > max_number:
max_number = b
if c > max_number:
max_number = c
return max_number
max_num = get_max(22, 23, 21)
print(max_num)
当你使用def 定义了一个函数后,只有调用这个函数才能让这个函数运行。
3. 函数的返回值
在第2小节中的示例3中,这个函数的功能是找出a, b, c三个数据中的最大值,获得最大值后,使用return 语句将max_number返回,max_number就是函数get_max的返回值,这个返回值最终赋值给变量max_num。
return的作用是退出函数并返回函数的返回值,任何时候,只要执行了return语句就一定会退出函数。你可能已经注意到第2小结中的示例1和示例2的函数里并没有return语句,那么这样的函数有返回值么?我们来做一下实验
def hello_word():
print('hello world')
res = hello_word()
print(res)
尽管函数hello_word没有使用return语句,但仍然会有返回值,这种情况下,函数默认返回None, 关于None,我会专门写一篇教程。
python的函数允许你一次返回多个结果
def return_tuple():
return 1, 2
res = return_tuple()
print(res, type(res))
程序输出结果
(1, 2)
函数一次返回多个结果时,是以元组的形式返回的。
如果函数里没有任何数据需要返回,但需要提前结束,也可以使用return,这种用法我会在递归函数中做讲解。