目录
  • python变量前面加星(*)含义
  • Python方法中参数添加星号(*)
    • 单星号使用
    • 双星号使用
  • 总结

    python变量前面加星(*)含义

    1、构造函数时,在变量前面加*,代表接收元组形式的参数。

    def func(*args)

    2、用于构造array,可以看成是一个生成器,不断将要输入的东西一一生成出来。

    输入(1,2),就依次产生1,2
    输入[1,2],就依次产生1.2
    v1 = (1,2)
    
    v2 = [3,4]
    
    list1.append([0,*v1])
    
    list1.append([*v2])
    
    list1.append([0,*v1,*v2]) 

    3、构造函数时形参前加入两个**,代表接收字典形式的参数。

    def func(**args)

    Python方法中参数添加星号(*)

    简单地说,星号代表着“解包”的操作。

    下面使用例子说明:

    单星号使用

    arr = [0, 1, 2, 3] # (0, 1, 2, 3)结果一致
    def count(*s):
        print(s)
    count(*arr)
    # 结果:(0, 1, 2, 3)

    单星号会将参数 s 看作成元组类型,进行操作时需要注意。

    arr = {'a': 0, 'b': 1, 'c': 2, 'd': 3}
    def count(*s):
        print(s)
    count(*arr)
    # 结果:('a', 'b', 'c', 'd')

    当我们传入的参数原本是字典类型的话,此时参数 s 则代表着字典的key。

    双星号使用

    arr = {'a': 0, 'b': 1, 'c': 2, 'd': 3}
    def count(**s):
        print(s)
    count(**arr)
    # 结果:{'a': 0, 'b': 1, 'c': 2, 'd': 3}

    双星号则会将参数 s 视作字典,使用时皆按字典类型操作。

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持小闻网。

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。