定义:def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个":"。
def 是固定的,不能变,他就是定义函数的关键字。空格 是为了将def关键字和函数分开,必须有空,当然也可以空2,3个空格或者想空格多少行都行但是正常情况下就一个空格
函数名:函数名只能包括字符串,下划线和数字并且不能以数字开头和 变量名相似,函数名后面的括号是必须要加的
注释:每一个函数都应该对功能和参数进行相应的说明,应该在函数的下面第一行,以增加代码的可读性
调用:就是函数名()必须加括号
def my_len(): # def 关键字,定义函数, 空格 函数名(变量)
def com(): li = [1, 2, 3, 4, 5, 6, 7] count = 0 for i in li: count = count +1 print(count)com() #调用结束此次函数使用
2.函数调用与返回值的操作:
1.1#return 1:遇到return 此函数结束,不在向下进行.
2.2 ,return 返回值
不写return 返回 None
return None 返回 None
eturn 单个值 返回此单个值
return 多个值 将多个值包在元组中,返回给调用者此元组、
代码如下:
def my_len(): ll =[1,2,3,4,5,6,7] print(111) print(222) return print(333) ##此时这个在return后面没有其他内容 就结束了在他后的 print(333)不执行因为没有设返回值 print(my_len())
2.如果return 后面加了返回值那么最终输出结果就会有返回值
cont =0 def my_len(): #给def 函数定义一个my_len()的函数名 s ='abcsdzzdasdsvds,ahdow'#设定一个字符串 cont = 0 #定义个数字参数 for i in s: #for循环下这个S的字符串变量 cont = cont +1 #给之前的cont自加1让他循环这个S的字符串 return cont #return 结束后返回了cont的值 也就是循环结束了 i的次数 ret =my_len() #最终调用了函数名后如果打印就给my_len()赋一个值 print(ret) #然后打印这个函数名的变量最终得出的是s字符串的长度
返回多个值
可以返回任意多个、任意数据类型的值
def my_len(): #1.定义函数名 l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3] #2.设定一个列表 count = 0 #3.定义count的整数 for i in l1: #4.for循环li这个列表 count += 1 #5.给3,定义的0自动加1 return 1,2,[123,2] #6.return结束后返回礼拜的1,2,[123,2]ret11=ret4,ret5,ret6 = my_len() # #7.把return结束后返回的(1,2,[123,2]) 分别赋给3个变量 然后在赋一个整变量print(ret11) #8.最终打印了返回值形成的是一个元组格式 ret = my_len() #1.然后直接从上面得出的函数中用ret给函数赋值后 ret1 = ret[0] #2.再把之前赋给函数的ret里面取索引的值最终得出的结果是元组转出列表 ret2 = ret[1] ret3 = ret[2] print(ret1,ret2,ret3)
函数的参数:{1.关键字传参}
{2.按位置传参 }
{3.混合性传参 }
1函数参数的按位置传参:
def func(x,y): #1.给函数名后加上x,y的假设 if x > y: #3.判断x,y的大小的话如过结果为真 return x #4.那么如果为真就返回x的值 else: #5.如果上面条件不成立那的话 return y #6.那么else返回y的值ret=func(123,251) #2.调用函数的时候按位置给x,y添加上值print(ret) #7.最后打印出最终得到的函数
2.按位置传参
def fun(x,y,): #1.给函数名后定义 2个参数一个位X,一个为Y z = x if x > y else y #3.x,y拿出来做比较 那么z是 x,y的裁判相当于 判断x,y的大小 return z #4.后得知的结果return结束后返回之前z得到的值ret=fun(32,65,) #2.给调用时候的函数名字里面加上位置传参上面假设的为x,y那么这里的第一个32为x的值,65为y print(ret) #y的值
3.参数的混合型传参:
#利用 混合型传参得到最大或最小数字 def fun(x,y,a,b): #1.给函数名里面设定xy,:a,b给x,y设定按位传参,给a,b设定关键字传参 z = x if x > y else y #3.判断x,y(按位传参)进行判断进行比较 然后赋给z为变量 c = a if a > b else b #4.判断a,b(关键字传参)然后进行大小比较,把值赋给c v = z if z > c else c #5.最后 把前2个的 z 和c的也就是按位传参的和 关键字传参的 变量值 进行比较 return v #6.最终把V的值返回给return 后的出来的就是最大或最小的数值ret=fun(32,65,a=100,b=200) #2.给fun的函数名调用时对应上面设定的值,x,32 .y,62,并且给a,b定义关键字传参 print(ret) #7.打印判断值
def my_len(): ll =[1,2,3,4,5,6,7] print(111) print(222) return print(my_len())