python变量,函数的参数传递(可变参数)

# a = 1

# ====================================================

# def test():

#    print(a)

#    print(b)

#    print(c)

# #这部分,a,b正常打印,c报错,说明并不是像java那样统一编译,没有先后顺序的

# #它是执行到哪里才在哪里进行判断

# b = 2

# test()

# c = 3

# ====================================================

# def test():

#    """这是测试注释的功能,没想到注释要写在函数内"""

#    print("test")

# ====================================================

# def test(name="老王", age=44):

#    """演示默认参数,居然可以这么设置值,shit"""

#    print(name + "::" + str(age))

#

#

# test("老张")

# ====================================================

deftest(name="老王",age=44,*change_param,**kwargs):

"""演示可变参数,它的形式是元组,只要在参数名前加星号就行了"""

print(name +"::"+str(age))

# (3,)如果元组只有一个元素,那这一个元素后面必须加一个逗号

print(change_param)# (234, '在在在', [1, 2, 3])

# print("可变参数:" + str(change_param[0]))

# {'size': 44, 'width': 99}

print(kwargs)#以字典方式传进来

# test("老张", 23423, 234, "在在在", [1, 2, 3], 33, size=44, width=99)

A = ("asdf","asdf","fdsa")

B = {"names":"shit","ages":666}

#。。服了,这不传第二个参数,它居然把可变参数的第一个值给第二个参数用

# test("jeje", *A, **B)

# test("jeje", 321,123,*A, **B)#如果多放了,第三个第四个自动并入可变参数

#看来规律是这个双星的可以指定,可变参数跟其他参数结合使用的时候,都是动态

#分配的,注意,字典的键还不能和方法的参数重复,这种加星号传参,称为拆包

test("jeje",321,**B)

# ====================================================

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容