1, 字符串带参数:
string="{0} is {1}" string2="{name} is {something}" string3="{0} is {1} and {name} is {something}" li=["朱元璋","皇帝"] dic={"name":"张飞","something":"猛将"} #多个str--------传参调用 result=string.format("lisi","worker") print(result) #lisi is worker #一个tuple--------传参调用 result=string.format(*li) print(result) #朱元璋 is 皇帝 #一个dict-------传参调用 result=string2.format(**dic) print(result) #张飞 is 猛将 #混合传参-----*args,**kwargs result=string3.format(*li,**dic) print(result) #朱元璋 is 皇帝 and 张飞 is 猛将
2, 函数中的参数--默认参数,指定参数,可变参数
def count(): a=2 a+=10 b=1 c=a+b print("%s+%s=%s"%(a,b,c)) #调用1 count() #调用2:引用地址 f=count f()
def add(num1,num2=0):#默认参数 print("%s+%s两数的和:"%(num1,num2),num1+num2) #顺序传参-------调用函数 a=add(1,100) #1+100两数的和: 101 #自由传参-------调用函数 b=add(num2=100,num1=9) #9+100两数的和: 109 c=add(19) #19+0两数的和: 19 print(a,b,c)可变参数: *ars, **args
def say(name): print("hello ",name) #hello 23 def say1(*args): print(type(args), args) #<class 'tuple'> (123, 234, 998, 235) def say2(name,*args): print("name=",name,"args----",args)#name= 23 args---- (324, 435) def say3(**args): print(type(args), args) #<class 'dict'> {'name': '32', 'age': 'lisi'} def say4(*args,**args2): print(type(args),type(args2), args,args2) #class 'tuple'> <class 'dict'> (23, 'ksl', 'we342') {'name': 24, 'age': 'sdf'} say(23) say1(123,234,998,235) say2(23,324,435) say3(name="32",age="lisi") say4(23,"ksl","we342",name=24,age="sdf")
def say(*args,**args2): print(type(args), args, "\n" , type(args2),args2,"\n") li=[234,25,2342,23,6] dic={"2":"a","3":"b"} #方法调用type(args2) say(li,dic) #<class 'tuple'> ([234, 25, 2342, 23, 6], {'2': 'a', '3': 'b'}) #<class 'dict'> {} say(*li,**dic) #<class 'tuple'> (234, 25, 2342, 23, 6) #<class 'dict'> {'2': 'a', '3': 'b'} say(234) #<class 'tuple'> (234,) #<class 'dict'> {} say({"a":"b","c":"d"},324,**dic) #<class 'tuple'> ({'a': 'b', 'c': 'd'}, 324) #<class 'dict'> {'2': 'a', '3': 'b'}简单函数表达式: lambda 【相当于:一个关键字】
def say(name): print(name) say("lisi") #lisi fun=lambda name,age: print(name,"are",age) fun("you",33) #you are 33