函数定义
def 函数名():
函数体[]
函数调用:。。。。。。。
以上内容与其他计算机语言差不多
def a():
print("vjbebg")
print("vjbebg")
print("vjbebg")
print("vjbebg")
print("vjbebg")
print("vjbebg")
pass
a()
参数
必选参数
def sum(a,b):#形参
sum=a+b
print(sum)
pass
sum(20,10)
默认参数
def sum1(a=1,b=4):
print(a+b)
pass
sum1()
可选参数(不定长参数)
当参数的个数不确定是使用
def n(*args):#重点(是一个元组)
print(args)
pass
n(1)
n(1,2)
def c(*args):
s=0
for a in args:
s+=a
print(s)
pass
c(1)
c(1,2)
关键字可选参数
** 来定义
在函数体内 参数关键字是一个字典类型 key是一个字符串
def m(**kwargs):
print(kwargs)
pass
b={"bvj":"vbe","age":12}
m(**b)#重点
m(bvj="vbe",age=12)#重点
def mm(*args,**kwargs):#此处可选参数必须放在关键字可选参数之前(即此处的位置不可变换)
print(args)
print(kwargs)
pass
print("-----------情况1------------")
mm(1,2,3,4,name="vrtkhi")
print("-----------情况2------------")
mm(1,2,3,4)
print("-----------情况3------------")
mm(name="vbjre",age=21)
返回值
返回列表
def m(num):
li=[]
i=0
result=0
while i<num:
result+=i
i+=1
pass
li.append(result)
return li
pass
print(type(m(10)))
print(m(10))
返回元组
def n():
return 1,2,3
pass
print(type(n()))
print(n())
返回字典
def f():
return {"name":"vne","age":65}
pass
print(type(f()))
print(f())
函数的嵌套
def m1():
print("vberg")
print("vebrg")
pass
def m2():
print("vnjer")
m1()
print("vne")
pass
m2()
练习题
接收n个数字,求这些参数数字的和
def m(n):
i=0;
result=0
while i<=n:
result+=i
i+=1
pass
return result
pass
print(m(10))
返回奇数下标对应值
def b(m):
h=1
list=[]
for i in m:
if h%2==1:#h为插入列表的中值的下标
list.append(i)#此处i=插入的列表中下标h对应对的值
pass
h+=1
pass
return list
pass
c=b([1,3,2,5,7,2,7,8,6])
print(c)
返回为奇数的值
def b(m):
list=[]
for i in m:
if i%2==1:
list.append(i)
pass
pass
return list
pass
c=b([2,3,2,57,68,7809,22,566557])
print(c)
写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前2个长度的内容,并将新的内容返回给调用者,(字典中的value只能是字符串或列表,方便切片)
def m(h):
dict={}
for key,value in h.items():
if len(value)>2:
dict[key]=value[0:2]
else:
dict[key]=value
return dict
a={"sdvb":"hie","hgi":["ig","ihgi","ir"],"name":"干煸豆角","weiht":"12kg"}
print(m(a))