---恢复内容开始---
一.函数:先定义一个事情或功能,等到需要是时候直接去用,这定义的东西就是函数.
二.函数的定义,函数名,函数体,及函数的调用
定义语法:
def 函数名() 函数体(代码块)
函数名的定义规则和使用与变量基本一样.
函数的调用:
def yue(): print("拿出手机") print("打开陌陌") print("找个漂亮的妹子") print("问她, 约不不约啊?") print("oK. 走你!") yue() #调用函数 若没有就不回执行函数.可以多次调用
yue()
执行过程:
三.函数的返回:return
1.遇到return,此函数结束,函数后边的代码将不会执行
2.return 返回值 不止可以返回一个值,还可以返回多个值
def yue(): print("约你") print("约我") print("约他") return "美女一枚" girl = yue() print(girl) def yue(): print("约你") print("约我") print("约他") return "美女一枚"''萝莉'' girl = yue() print(girl)
关于返回值:
如果return什么都不写 或者 干脆不写return .那么返回的就是None
如果return后面写了一个值. 则调用者可以接收一个结果
如果return后面写了多个结果, 则调用者可以接收一个tuple, 调用者可以直接解构成
多个变量
四.函数的参数
参数,函数再调用的时候指定具体的一个变量的值,就是参数.语法:
def 函数名(参数列表) 函数体
1.形参:
写在函数声明的位置的变量叫形参
1)位置参数,按照位置顺序来赋值
2)默认值参数:在函数声明的时候,可以给出函数参数的默认值,在调用的时候可以给出具体的值,也可以不给值,使用默认值.
def func (name,age,sex='男') #sex = '男' 就是默认值函数 print('录入学生信息') print(name,age,sex) print('录入完毕') func('张三',18) #不用给sex 默认是sex='男'
注意,必须先声明位置参数,在声明默认值参数
2.实参
在函数调用的时候,给参数传递的值
1)位置参数
def yue(chat,address,age)#形参 print('拿出手机') print('打开'+chat) print('找个'+address+'附近漂亮的'+str(age)+'岁妹子') print('约不约') yue('微信','北京',18) #实参 可以传多个值
结果:
拿出手机
打开微信
找个北京附近漂亮的18岁妹子
约不约
总结:在访问yue()的时候,我们按照位置的顺序分别把'微信','北京',18赋值给对应的chat.address,age
在传参的过程中,系统会默认按照位置把实参赋值到形参
2)关键字参数
位置参数好不好呢? 如果是少量的参数还算OK, 没有问题. 但是如果函数在定义的时候参数非常多怎么办?程序员必须记住, 我有哪些参数, 而且还有记住每个参数的位置, 否则函数就不能正常调用了. 那则么办呢? python提出了一种叫做关键字参数. 我们不需要记住每个参数的位置. 只要记住每个参数的名字就可以了
def yue (chat,address,age): print("拿出手机") print("打开"+chat) print("找个"+address+"附近漂亮的"+str(age)+"岁妹子") print("约不约") yue(chat = '微信',age = 18,address='北京')#关键字参数 不需要考虑位置顺序
结果:
拿出手机
打开微信
找个北京附近漂亮的18岁妹子
约不约
3)混合参数
指位置参数和关键字参数混着用,在使用混合参数的时候,关键字参数必须在混合参数的后边.
总结:实参包括三个参数,位置参数,关键字参数,混合参数.....先后顺序是 位置参数----> 关键字参数
3.传参
给函数传递信息的时候将实际参数交给形式参数的过程称为传参