# 结构 def 函数名(): 内容 # def : 定义一个函数,def关键字后紧跟一个空格 # def 函数名() : 函数名命名方式与变量命名规范一致
# 结构 def 函数名(): 内容 函数名() # 函数名() : 函数的执行 --------------------------------- # 函数的执行写多少次,执行多少次 lis=[1,2,3,4,5,6,7,8,9] def new_len(): count=0 for i in lis: count+=1 print(count) for i in range(3): new_len() # 执行结果 三次9
return 做用1 : 只能在函数中用,可用于结束函数python
lis=[1,2,3,4,5,6,7,8,9] def new_len(): count=0 for i in lis: count+=1 print("少林") return print("武当") new_len() # 少林
return 做用2 : 给函数的执行者返回具体的值(三种状况)函数
函数中没有return或只写一个return,函数的执行者获得的是Nonecode
lis=[1,2,3,4,5,6,7,8,9] def new_len(): count=0 for i in lis: count+=1 return print(new_len()) # None
函数中return后跟单个值,则返回这个值,不改变值得类型class
lis=[1,2,3,4,5,6,7,8,9] def new_len(): count=0 for i in lis: count+=1 return [1,2,3,4,5] print(type(new_len())) # <class 'list'>
函数中return后跟多个值,函数的执行者获得的是一个元组变量
lis=[1,2,3,4,5,6,7,8,9] def new_len(): count=0 for i in lis: count+=1 return [1,2,3,4,5],123,"123" print(type(new_len())) # <class 'tuple'>
定义 : 在函数调用时,那实参的值赋值给形参的过程叫作传参.扩展
目的 : 函数可扩展性进阶
def new_len(a): # 定义函数时的参数:形参 count=0 for i in a: count+=1 return count l1=[1,2,3] s1="dsadsadsadsad" print(new_len(l1)) # 3 函数的调用者参数:实参 print(new_len(s1)) # 13 函数的调用者参数:实参
实参分类(三种)命名
位置参数 : 按照位置为形参赋值,按照顺序一一对应co
def meet(sex,age,job):# 位置参数从左到右,形参与实参按照顺序一一对应 print("寻找性别%s,年龄%s岁,工做%s"%(sex,age,job)) meet("女","20-25","老师")
关键字参数 : 按照位置为形参赋值,可不按照顺序一一对应命名规范
# 位置参数从左到右,形参与实参可不按照顺序一一对应 def meet(sex,job,age): print("寻找性别%s,年龄%s岁,工做%s"%(sex,age,job)) # 这里要按照顺序 meet(job="老师",age="20-25",sex="女")
混合参数
# 关键字参数必定要在位置参数后面,一一对应 def meet(job,age,weight,sex): print("寻找性别%s,年龄%s岁,工做%s,体重%s"%(sex,age,job,weight)) # 这里要按照顺序 meet("老师","20-25",sex="女",weight="120")
形参角度(四种)
位置参数 : 与实参角度位置参数一致
默认参数 : 默认参数必定在位置参数后面,不传参数即沿用默认的参数,更改默认参数能够用位置或指定的方式更改默认参数.
def meet(job,age,weight,sex="女"): print("寻找性别%s,年龄%s岁,工做%s,体重%s"%(sex,age,job,weight)) # 这里要按照顺序 meet("老师","20-25",weight="120") --------------------------------- # 更改默认参数,第一种 def meet(job,age,weight,sex="女"): print("寻找性别%s,年龄%s岁,工做%s,体重%s"%(sex,age,job,weight)) # 这里要按照顺序 meet("老师","20-25",sex="女",weight="120") # 更改默认参数,第二种 def meet(job,age,weight,sex="女"): print("寻找性别%s,年龄%s岁,工做%s,体重%s"%(sex,age,job,weight)) # 这里要按照顺序 meet("老师","20-25","120","男")
如下两种函数进阶会讲到
动态参数
仅限关键字参数