一、先导
1、什么是函数
具备某一功能的工具----》函数
事先准备工具的过程====》函数的定义
遇到应用场景拿来就用==》函数的调用
2、为何要有函数
(1)、程序的组织结构不清晰、可读性差
(2)、代码冗余
(3)、程序的可维护性差
3、如何用函数
原则:先定义,后调用
定义函数的语法:
def 函数名(参数1,参数2,参数3,...):
"""文档注释"""
代码1
代码2
代码3
...
return 返回值
调用函数
函数名(值1,值2,值3,...)
二、函数定义
def func(n,msg): # func=函数的内存地址
print('-'*n)
print(msg)
print('-'*n)
三、函数调用
func(10,'hello')
func(5,'world')
四、
定义阶段:只检测语法,不执行代码
def func():
xxx
调用阶段:根据函数名找到函数的内存地址,然后配合()触发函数体代码的运行
func()
示例1
def bar():
print('from bar')
def foo():
print('from foo')
bar()
foo()
示例2
def foo():
print('from foo')
bar()
def bar():
print('from bar')
foo()
五、定义函数的三种形式
(1):无参函数
def login():
name= input('username>>>: ').strip()
pwd = input('username>>>: ').strip()
if name == 'egon' and pwd == "123":
print('login successful')
else:
print('username or password error')
login()
(2):有参函数
def max2(x,y):
# x = 10
# y = 20
if x > y:
print(x)
else:
print(y)
max2(10,20)
max2(111,222)
(3):空函数
def func():
pass
五、调用函数的三种形式
(1) 语句形式
input("please input your name: ")
def max2(x,y):
# x = 10
# y = 20
if x > y:
print(x)
else:
print(y)
max2(11,22)
(2) 表达形式
name = input("please input your name: ")
def max2(x,y):
if x > y:
return x
else:
return y
res=max2(111,222) * 12
(3) 当作参数传给另外一个函数
def max2(x,y):
if x > y:
return x
else:
return y
print(max2(111,222))
print(max2(max2(111,222),333))
六、函数返回值return
(1) return是函数结束的标志,函数内可以有多个return,但只要执行一次整个函数就会立即终止,并且会将return后的结果当作本次调用的返回值返回
def func():
print('hello1')
return 111
print('hello2')
return 222
print('hello3')
return 333
func()
(2) return可以返回的值的个数
return 值:返回一个值
return 值1,值2,值3: 把多个值放到一个元组内返回
def func():
return 1,33.3,[1,2,3]
res=func()
print(res)
没有return或者就一个单独的return:默认返回的是None
def func():
pass
res=func()
print(res)