学python的时候,我们都会上网时不时的接触到一些别人写的代码。但是对于初学者来说,很多时候会遇到这样的情况:虽然我把基础的语法什么的都弄明白了,但是还是会遇到奇奇怪怪的符号,让我怀疑我和别人学的是不是同一种语言。 我把一些容易遇到的“神奇代码”归纳如下,并把他们的含义和用法解释在下面:
1、奇怪的*args
和**kwargs
在函数的表达式中很多情况下会遇到这两个东西*args
和**kwargs
。你可能遇到的是诸如*arg
和**kw
等等不同的名字,这些名字不是主要的(取任何允许的变量名都行)。重要的是这个*
和**
。这里是什么意思呢?一个*
号开始的这个args
表示的是位置参数(arguments),而第二个**
号开始的kwargs
表示的是关键字参数(keyword arguments)。他们两个叫做python中的可变参数。也就是,存在这样的场景,比如,你要输入可变数目的参数给函数,而又不能提前定义好这些参数的数量。这个时候,可变参数就能发挥作用啦。比如下面这段代码就演示的是*args
的用法:
def test(one, *args):
print("first element is %s" %one)
print("in args:",type(args))
for i in args:
print("%s" %i)
当我们在调用这个代码时:
>>>test