如何规避python参数的初始化次数?

651次阅读
没有评论

如何规避python参数的初始化次数?

我们在内存不足的时候,除了增加内存的可用度,可以进行一个清理内存的初始化操作,当然这种是最后迫不得已的选择。我们在python中也有需要用到初始化的地方,鉴于参数和函数的关系密不可分,本篇我们会简单的说一下参数的概念让小伙伴们了解一下,然后结合函数一起探讨参数的初始化次数问题。

在 python 中,类型属于对象,变量是没有类型的。

参数可以看作钥匙,函数是门,多个参数就是多把钥匙,开门需要钥匙。

除了空参数和正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数。以下是调用函数时可使用的正式参数类型:

  • 空参数
  • 必需参数
  • 默认参数
  • 不定长参数

 

默认参数只初始化一次

函数的默认值只会创建一次,之后不会再变了,使用对象(列表、字典、实例)作为默认值,会导致函数混乱,如下面的函数在后续调用中积累传递给它的参数

def f(a, L=[]):
    L.append(a)
    return L
 
print f(1)
print f(2)
print f(3)

输出为

[1]
[1, 2]
[1, 2, 3]

可以使用下面的办法进行规避:

def f(a, t=None):
    t = t or []
    t.append(a)
return t

通过本篇的学习我们可以看出,虽然我们常说默认参数的初始化次数是固定的,但依然可以通过一些特殊的方法来规避。当然我们作为初学者,大部分时候还是尽量不要尝试特殊方法避免出错。

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-05-17发表,共计598字。
新手QQ群:570568346,欢迎进群讨论 Python51学习