函数:语法 定义 参数 返回值
函数
我们可以先去定义⼀个事情或者功能. 等到需要的时候直接去用就好了. 那么这里定义的东⻄就是一个函数.
函数是对功能或者动作的封装
函数: 对代码块和功能的封装和定义
函数的语法和定义
def 函数名():
函数体
调用:
函数名()
函数的调⽤: 使用函数名可以调用函数, 写法: 函数名(), 这个时候函数的函数体会被执⾏
函数的返回
执行完函数之后. 我们可以使用return来返回结果
return : 返回
1. 当程序没写过return, 不返回任何结果. 如果你非要接收. 接受到的是None
2. 当函数写return 值, 有一个返回值.
3. 当函数写了return 值1, 值2, 值3.... 返回多个结果. 多个结果打包成元组
4. 当程序执行到return, 函数结束执行
1. 函数中遇到return, 此函数结束, 不再继续执行.
2. 给函数的调⽤用者一个访问结果
3.函数的返回值可以有多个结果
总结⼀下:
1. 遇到return. 此函数结束, 函数后面的东西将不会再执⾏
2. return 返回值
关于返回值:
函数的返回值问题:
函数可以有返回值, 也可以没有返回值,return什么都不写 或者 干脆不写return .那么返回的就是None
函数如果没有返回值. 在函数最后执行完毕的时候会默认返回None
在函数中只写了return, 但是没有写返回值
在函数中写了return, return None 返回的结果还是None
在函数中写了return 值, 返回一个结果.
在函数中写return 值1, 值2, 值3... 返回多个结果. 多个结果会以元组的形式返回,如果return后⾯面写了多个结果, 则调用者可以接收一个tuple, 调用者可以直接解构成多个变量
参数
函数在调⽤用的时候指定具体的⼀一个变量量的值. 就是参数.
语法:
def 函数名(参数列表):
函数体
def()
小括号是什么, 小括号表示调用, 传参
参数: 参数是给函数传递的信息
形参: 在函数声明的位置写的变量
1. 位置参数
2. 默认值
3. 动态传参(明天) *, **
实参: 在函数调用的时候给函数传递的具体的值
1. 位置参数
2. 关键字参数
3. 混合: 位置, 关键字
传参: 把实参给形参的过程
1. 形参 写在函数声明的位置的变量量叫形参. 形式上的⼀一个完整. 表⽰示这个函数需要xxx
2. 实参 在函数调⽤用的时候给函数传递的值. 叫实参, 实际执⾏行行的时候给函数传递的信息. 表⽰示给函数 xxx
3. 传参 给函数传递信息的时候将实际参数交给形式参数的过程被称为传参.
def chi():
print('池什么')
print("酸菜鱼")
chi() # 小括号表示调用
def yue(tools): # 形参
# 描述你的动作
print("拿出手机")
print('打开%s' % tools)
print("找一个心仪的小姐姐")
print('有没有时间啊, 聊聊人生')
print("一起出来吃饭唱歌, 看电影")
yue("微信") # 实参
yue("探探") # 实参
yue("陌陌") # 实参
需求:根据你指定的APP去约
在括号内写的东西叫参数
在函数声明的位置. 写的参数叫形参
在函数调用的地方. 写的参数叫实参
把实参传递给形参的过程叫做传参
在函数调用的时候. 必须保证所有的形参都有值
yue() # 错误的
1. 关于实参:
1. 位置参数, 按照位置给形参传递信息 # 在访问yue()的时候, 我们按照位置的顺序赋值. 在传参过程中. 系统会默认按照位置把实参赋值到形参.
程序员必须记住, 我有哪些参数, ⽽且还有记住每个参数的位置, 否则函数 就不能正常调⽤了.
那则么办呢? python提出了了一种叫做关键字参数. 我们不需要记住每个参数的位置. 只要记住每个参数的名字就可以了
2. 关键字参数, 按照形参声明的变量名进行传递
3. 混合参数. 位置+关键字(规定) ##必须先使用位置参数,再使用关键字参数
#可以把上⾯两种参数混合着使⽤用. 也就是说在调⽤函数的时候即可以给出位置参数, 也可以指定关键字参数.
位置参数的例子:
练习:写一个函数, 在函数内部. 要求用户输入两个数. 返回大的那个数 def func(): # fn func a = int(input("请输入第一个数:")) b = int(input("请输入第二个数:")) # if a > b: # return a # else: # return b # 三目运算 c = a if a > b else b # c装的是a, b中大数 # 值1 if 条件 else 值2 return c ret = func() print(ret)
2. 关于形参(2):
1. 位置参数, 按照位置声明的变量
2. 默认值参数
3. 当默认值和位置参数同时存在的时候. 规定: 默认值必须写在后面
4. 动态传参(明天)
# 所有带等号的. 都上后面去
def chi(zhushi, fushi, tang, tiandian):
print("主食:%s" % zhushi)
print("副食:%s" % fushi)
print("汤:%s" % tang)
print("甜点:%s" % tiandian)
# chi("锅包肉", "胡辣汤", "哈根达斯冰激凌火锅","大米饭")#位置参数
# chi(fushi="大米饭", zhushi="锅包肉", tiandian="哈根达斯", tang="酸辣汤")#关键字参数
# chi("大米饭", "锅包肉", tiandian="哈根达斯", "酸辣汤") # 错误的. 关键字必须在位置参数后面
chi("大米饭", "锅包肉", "酸辣汤", tiandian="哈根达斯")
chi("大米饭", "锅包肉", tiandian="哈根达斯", tang="酸辣汤")