函数参数。。。

函数参数分哪几种:

1.普通参数普通参数的形式参数和实际参数是从左往右依次对应的。

#def send(xxoo,ffff,):#这里是形式参数
# print("xxoo","ffff")
# return True
#send("ddc","sb")#这里是实际参数 #这是普通参数


2.默认 参数,默认参数就是在形式参数的位置设定一个实际的值如yyy=ok 这样如果实际参数上传两个值那第三个就是ok,如果上传三个值那就是上传的值,默认参数必须在所有形式参数的最后。
#def send (xxoo,hhh,yyy="ok"):#这里是形式参数
# print(xxoo,hhh,yyy)
# return True
#send("dd","sb")
#send("xx","cc","oo")#这里是实际参数 #这是默认参数实现


3.指定参数 指定参数就是吧实际参数指向某个形式参数。
#def send (xxoo,ffff):#形式参数
# print(xxoo,ffff)
# return True
#send(ffff="llll",xxoo="jjjjjjj") #实际参数 #这是指定参数

4.*动态参数
#def f1 (*args):#一个星的默认是一个元组
# ang=(11)
# ang=([*11,22,])
# print(ang)# 动态参数形式参数带星星的可以实际参数可以输入n个值。。实际参数带星号这表示吧实际参数的每一个值拿出来加到一个元组里,如果不带*表示吧实际参数当成一个元素加到一个元组里。
def f1(*args):
    print(args,type(args))

l=[1,2,3,4,5,6,"lll"]
f1(l)#实际参数加星与不加星的区别
f1(*l)
输出:

([1, 2, 3, 4, 5, 6, 'lll'],) <class 'tuple'>
(1, 2, 3, 4, 5, 6, 'lll') <class 'tuple'>


5.**动态参数
#def send (**kwargs):#两个星默认是一个字典
# print(kwargs,type(kwargs))

#send(ffff="llll",xxoo="jjjjjjj")或
 send(**"llll","jjjjjjj")
def f1(**kwargs):
    print(kwargs,type(kwargs))

l={"k1":2,"k3":4}
f1(n1=2,n3=4)#如果传参数是这样就表示吧这个做为一个键值对传给一个列表
f1(kk=l)
f1(**l)#如果是这样就表示直接把这个字典赋值给**kwargs
执行结果:

{'n3': 4, 'n1': 2} <class 'dict'>
{'kk': {'k3': 4, 'k1': 2}} <class 'dict'>
{'k3': 4, 'k1': 2} <class 'dict'>



6.万能参数(其实就是动态参数)
def f1(*args,**kwargs):
    print(kwargs,type(kwargs))
    print(args)

f1(1,2,3,4,5,6,k1=15,k2=16)
执行结果:
def f1(*args,**kwargs):
print(kwargs,type(kwargs))
print(args)

f1(1,2,3,4,5,6,k1=15,k2=16)
#def send (*args,**kwargs):#万能参数,一个星加俩星
#send(11,11,22,33,k1="123",k2="456")

#s="name {0} age{1}".format("erfei",22)
#print(s)
#s1="name {0} age{1}".format(*["erfei",22])
#print(s1)

dic={"name":"erfei" , "age":18}
s1="i im {name} , age{age}".format(**dic)
print(s1)
万能参数能接受两种类型数据
m=["erfei",18]
l="我叫{}今年{}岁".format("erfei",18)
k="我叫{}今年{}岁".format(*m)#这个跟上面的其实一样
print(l,k)

hhh="我叫{name}今年{age}岁".format(name="erefi",age=18)#参数只能这样传
kkk={"name":"erfei","age":18}

yyy=l="我叫{name}今年{age}岁".format(**kkk)#还可以这么干


print(hhh,yyy)


原文地址:https://www.cnblogs.com/zang963469010/p/5902947.html