Python函数参数中,有一类特殊的存在,在可传入参数中使用 ' * ' ,传递不定数目的位置参数,(又称为星号参数),利用星号参数,可以减少参数的数目,减少阅读量.
上述代码为常规写法,即便只需要打印一个参数,也需要传入一个空列表,显得笨拙而难以阅读,于是我们可以利用星号函数,将代码修改如下:
Python将带星号的参数视为位置参数,接受数目可变的参数.
在变化参数传递中,首先多个元素转化成一个元祖(tuple),在这个过程中,如果有些特殊的函数,例如生成器函数,到达调用函数的语句时候,python必须将元组遍历一遍,将生成的值重新放回元组中,对于内存不是一件好事情.
顺带一提 :
或许有的朋友没见过yield
其实yield 就是一个类似 return 的关键字
简要:yield就是 return 返回一个值,并且记住这个返回的位置,下次迭代就从这个位置后(下一行)开始。
好了言归正传:
在参数不是很多的情况下,这样的方法,确实可以优化不少
但是如果在函数参数稍多的情况下,而程序对于内存占用也有一定的限制的情况下,就需要用到别的方法.具体下次文章再进行深度的解析.
领取专属 10元无门槛券
私享最新 技术干货