前方高能---初识函数
一. 什么是函数
函数:对代码块和功能的封装和定义.
二. 函数的定义,函数名,函数体,以及函数的调用
def 函数名():
函数体
函数体:就是函数被执行之后要执行的代码.
三, 函数的返回
执行完函数之后,我们可以使用return来返回结果.
函数中return的使用:
1.函数中遇到return,此函数结束,不在继续执行.
def yue()print('打开手机')print('打开微博')print('进入阚清子和纪凌尘微博')returnprint('去留言,你喜欢大海,我爱过你.') # 这句话不会被执行. yue()
2.给函数的调用者一个访问结果.
def yue()print('拉拉')print('啥呀')return '哒哒哒' girl = yue() print(girl) # 哒哒哒
函数的返回值可以有多个结果
def yue():print('拉拉')print('啥呀')print('大大')return '脉动','巴啦啦' girl = yue() print(type(girl)) # tuple
总结一下: 1.遇到return,此函数结束,函数后面的东西将不会再执行
2. return返回值.
关于返回值:
如果return什么都不写,或者干脆不写return,那么返回的就是None
如果return后面写了一个值,则调用者可以接收一个结果.
如果return后面写了多个结果,则调用者可以接收一个tuple,调用者可以直接解构成多个变量.
四. 函数的参数
参数,函数在调用的时候指定具体的一个变量的值,就是参数.
语法:
def 函数名(参数列表):函数体
关于参数:
1, 形参
写在函数声明的位置的变量叫形参,形式上的一个完整,表示这个函数需要xxx
2, 实参
在函数调用的时候给函数传递的值,叫实参,实际执行的时候给函数传递的信息,表示给函数xxx
3, 传参
给函数传递信息的时候将实际参数交给形式参数的过程被称为传参.
def yue(chat): # chat 形参print('笨蛋')print('哈哈哈')print('想喝',chat)print('cheer up') yue('脉动') # 实参 len('字符串') # '字符串'在这里就是实参 print('麻花藤') # '麻花藤'就是实参
参数的分类:
1,位置参数
def yue(chat,address,age): # 形参print('拿出手机')print('打开'+chat)print('找个'+address+'附近漂亮的'+str(age)+'岁妹子')print('哒哒哒') yue('微信','北京',18) # 实参
分析: 在访问yue()的时候,我们按照位置的顺序分别把'微信','北京',18,赋值给chat.address,age.在传参过程中,系统会默认按照位置把实参赋值到形参.
练习: 编写编程,给函数传递两个参数a,b.比较啊,a,b的大小,返回a,b中最大的那个数.
答案:
def my_max(a,b):if a > b:return aelse:return b #有点麻烦,我们在这里学一个三元运算符. def my_max(a,b):c = a if a > b else b # 当a>b成立返回a,否则返回breturn c
2, 关键词参数
def yue(chat,address,age):print('哈哈哈')print('打开'+chat)print('找个'+address+'附近漂亮的'+str(age)+'岁妹子')print('嘿嘿嘿') yue(chat='微信',age=18,address='北京') # 关键字参数
3,可以把上面两种参数混合着使用,也就是说在调用函数的时候可以给出位置参数,也可以指定关键词参数.
# 函数参数 yue('微信',age=18,addreass='上海') #正确.第一个位置赋值给chat,后面的参数开始指定关键字. yue(age=18,'微信',addreass='广州') # 错误,最开始使用了关键字参数,那么后面的微信的位置就串了,容易出现混乱.
注意: 在使用混合参数的时候,关键字参数必须在位置参数后面.
综上: 在实参的角度来看,分为三种.
1.位置参数
2,关键字参数
3, 混合参数,位置参数必须在关键字参数前面.
在形参角度看,一共分为三种,
位置参数,按照位置来赋值,到目前为止,我们编写的函数都是这种.
def yue(chat,address,age):print('拿出手机')print('打开'+chat)print('找个'+address+'附近漂亮的'+str(age)+'岁妹子')print('呃呃呃')
默认值参数, 在函数声明的时候,就可以给出函数参数的默认值,在调用的时候可以给出具体的值,也可以不给值,使用默认值.
def stu_info(name,age,sex='男'):print('录入学生信息')print(name,age,sex)print('录入完毕') stu_info('张强强',18)
注意: 必须先声明位置参数,才能声明默认参数.
综上: 在形参的角度来看.
1.位置参数
2.默认值参数(大多数传进来的参数都是一样的,一般用默认参数.)