1 认识函数
什么是函数?
定义一个事情或者是功能,等到需要的时候直接去用就好了.那么这里定义东西就是一个函数。
函数:对代码块和功能的封装和定义。
2 定义函数函数的基本结构:
def 函数名(): 函数体
我们使用def关键字来定义函数,函数的定义语法,这里的函数名的命名规则和变量的命名规则一样。
def make(): print('拿出手机') print('拿出微信') print('看看附近的人') print('美女,约架吗?') print('约,走起!')
这里只定义了一个函数.但是还没有执行过这个函数.
3 调用函数使用函数名加小括号就可以调用了 写法:函数名() 这个时候函数的函数体会被执行。
函数的调用:# 函数 + 小括号 == 调用func()
def make(): print('拿出手机') print('拿出微信') print('看看附近的人') print('美女,约架吗?') print('约,走起!')make() # 函数名 + 小括号 == 调用
def make(): #1 print('拿出手机') #3 print('拿出微信') #4 print('看看附近的人') #5 print('美女,约架吗?') #6 print('约,走起!') #6make() #2 # 函数名 + 小括号 == 调用
执行完函数之后,我们可以使用return来返回结果.
def func(): print('今天是周二') return '1-9' print('明天是周三') return '1-8' print('后天是周四') print('大后天是周五') print('大大后天是周六')# 函数中当执行到return的时候就结束了,return以下代码都不执行,并且终止这个函数print(func())
1.遇到return,此函数结束,函数后面的东西将不会在执行;
2.return 返回值
关于返回值:
如果return什么都不写或者干脆就没写return,返回的结果就是None;
如果return后面写了一个值,则调用者可以接受一个结果;
return 可以返回随意数据;
如果return后面写了多个结果,则调用者可以接受一个tuple,调用者可以直接使用解构获取多个变量。
6 函数的参数参数,也就是函数括号里的内容 函数在调用的时候指定一个具体的变量的值 就是参数.
1.形参:写在函数声明的位置的变量叫形参,形式上的一个完整.表示这个函数需要xxx
2.实参:在函数调用的时候给函数传递的值.加实参,实际执行的时候给函数传递的信息.表示给函数xxx
3.传参:给函数传递信息的时候将实际参数交给形式参数的过程被称为传参.。
def make(chat): # chat 定义的参数是形参 print("拿出手机") print("打开"+chat) print("找个漂亮的妹子") print("约不约") make("陌陌") # 调用的参数是实参 形参和实参的数量 一一对应len("字符串") # "字符串"在这⾥里里就是实参print("麻花藤") # "麻花藤"就是实参
参数分类:
实参的角度:
func('清华','东莞') 位置参数def make(chat,addr,age): # chat 形参 pass make("清华","东莞",18) # 实参
在访问make()的时候,我们按照位置的顺序分别把"陌陌","北京",18赋值给了
chat,addr,age,在传参过程中.系统会按照位置吧实参赋值到形参。
func(msg = '清华',addr = '东莞') 关键字参数
def make(chat, address, age): pass make(chat="清华", age=18, address="东莞") # 关键字参数.
python提出了一种叫做关键字参数. 我们不需要记住每个参数的位置. 只要记住每个参数的名字就可以了。
func('清华',addr='清华') 混合参数
def make(chat, address, age): pass make("清华",age="18", address="东莞") # 关键字参数.
注意: 在使用混合参数的时候, 关键字参数必须在位置参数后面.
可以把上面两种参数混合着使用. 也就是说在调用函数的时候即可以给出位置参数, 也可以指定关键字参数。
def func(school='清华') 默认值参数
def stu_info(name, age, sex='男'): #默认参数 pass stu_info("张强", 18)
在函数声明的时候, 就可以给出函数参数的默认值. 在调用的时候可以 给出具体的值, 也可以不给值, 使⽤用默认值.
注意:必须先声明在位置参数,才能声明关键字参数
参数的顺序: 位置参数 > 默认参数(关键字参数),在默认参数前边写位置参数
函数形参的规则 位置参数 > 默认参数
函数形实参的规则 位置参数 > 关键字参数
总结:
实参的角度:
func('清华','东莞') 位置func(msg = '清华',school = '东莞') 关键字func('清华',school='清华') 混合
形参的角度:
def fucn(msg,school) 位置def func(school='清华') 默认参数def func(msg,school='清华') 混合