代码之家  ›  专栏  ›  技术社区  ›  Baron Yugovich

*操作符如何在python中工作

  •  0
  • Baron Yugovich  · 技术社区  · 8 年前

    我知道它扩展了函数参数,但是如果我在python 2中尝试类似的方法:

    x = [1,2,3]
    print *x # SyntaxError: invalid syntax
    print [*x] # SyntaxError: invalid syntax
    

    所以我似乎错过了一些关于*具体做什么的事情?

    1 回复  |  直到 8 年前
        1
  •  3
  •   Sunitha    8 年前

    这个 * 运算符,将序列/iterable(例如,list或tuple)中的元素解包为函数的位置参数

    在python2上, print 是语句而不是函数。所以从将来导入打印功能,以便使用 * 将列表元素解包为参数的运算符

    >>> from __future__ import print_function
    >>> print (*x)
    1 2 3
    

    在python3上, 打印 是一个函数。所以你可以用 * 直接接线员

    >>> print (*x)
    1 2 3