# 储备知识:
# 函数的使用应该分为两个明确的阶段
# 1. 定义阶段:只检测语法,不执行函数体代码 def func():
print('from func')
# 2. 调用阶段:会触发函数体代码的执行
# func()
# 先定义后调用
# 示范一
# def foo():
print('from bar')
# 示范二
# def foo():
print('from foo')
#
# foo()
# 示范三,
# def bar():
print('frm foo')
bar()
#
# def bar():
print('from bar')
# foo()
# 示范四:
# def foo():
print('from foo')
bar()
foo()
def bar():
print('from bar')
#一:函数的定义的三种方式
# 有惨函数
def func(x):
pass
func(1)
# 无参函数
# def bar():
pass
bar()
# 空函数
# def func():
# pass
def register();
pass
def shopping():
pass
def transfer():
pass
def pay():
, , , pass
# 二:函数调用的三种形式
# register() #语句形式
def max2(x,y):
if x>y:
return x
else :
return y
# res=max2 (10,20)*12 #表达试
# return 值:
# 注意点:
# 1. 函数的返回值没有类型限制
# 2. 函数的返回值没有个数限制
#2. 1 返回多个值:多个返回值用逗号隔开,返回是元组形式
# def func():
# print('form fun')
return 1,1.1,'hello',[1,2,3]
# res=func()
#print(res,type(res))
# 2.2 返回一个值:返回的就是该值本身
3 def func():
# return
# pass
# res=func()
# print(res)
# return除了有返回值的功能,还有结束函数执行的功能
# 函数内可以有多个return,但只要执行一次,整个函数就立即结束,并且将return后的值返回
def func()
print(1)
return
print(2)
return
print(3)
func()
# 一:函数的参数分为两大类:
# 形式参数(形参):在定义函数阶段,括号内定义的参数\变量名称为形参
# 实际参数(实参):在调用函数阶段,括号内传入的值\变量值称为实参
# ps:在调用函数阶段会将实参(值)的值绑定给形参(变量名),这种绑定关系只在调用函数时生效,在函数执行完毕后就会自动解除绑定
# def func(x,y): # x=1 y=2
# x=1
# y=2
# print(x,y)
# func(1,2)
# print(x)
# print(y)
# 二: 细分:
# 1.位置参数
#1,1 位置形参:在定义阶段,按照从左到右的顺序称之为位置形参
# 特点:但凡时按照位置定义的形参,必须被传值,多一个不行少一个不行
# def func(x,y,z):
# print(x,y,z)
# func(1,2)
# func(1,2,3)
# func(1,2,3,4)
# 1.2 位置参数:在调用阶段,按照从左到右的顺序依次传入的值称之为位置参数
# 特点:
# 1, 与形参————对应
# def func(x,y,z):
# print(x,y,z)
# func(2,1,3)
# 2, 关键字实参: 在调用阶段,按照key=value的形式定义的实参称之为关键字实参
# 特点: 可以完全打乱顺序,但仍然能为指定的形参传值(总结指名道姓为指定的形参传值)
# def func(x,z,y)
print(x,y,z)
# func(x=1,z=2,y=3)
# func(1,2,3)
# func(y=3,z=2,x=1)O
# 实参的形式可以是位置实参与关键字实参混合使用,但是必须遵循原则
# 1. 位置实参必须放在关键字的前边
# 2. 不能对同一个形参重复传值
# func(1,2=3y=2)
# func(z=3,y=2) # 错误
# func(1,z=3,x=2,y=3) # 错误
然后就是对今天的内容还有好好复习!!!