python基础教程: *与**的区别

python中,在形参前面加上***,称为动态参数

*时,函数可接受任意多个参数,全部放入一个元祖中

def F(*args):
    print(args)

F(123,"456")

# (123, '456')

**时,函数接受参数时,返回为字典,需要写为如下形式:

def F(**kwargs):
    print(kwargs)

F(k1=123,k2="456")

# {'k1': 123, 'k2': '456'}
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def F(p,*args,**kwargs):
    print(p)
    print(args)
    print(kwargs)

F(11,"abc",[789],k1=123,k2="456")

# 11
# ('abc', [789])
# {'k1': 123, 'k2': '456'}
def F(*args):
    print(args)

li = [11,22,33,44]
F(li)
F(*li)

# ([11, 22, 33, 44],)
# (11, 22, 33, 44)
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def F(**kwargs):
    print(kwargs)

li = {
    
    "k1":1,"k2":2}
F(k=li)
F(**li)

# {'k': {'k2': 2, 'k1': 1}}
# {'k2': 2, 'k1': 1}

猜你喜欢

转载自blog.csdn.net/sinat_38682860/article/details/120201736