我们在内存不足的时候,除了增加内存的可用度,可以进行一个清理内存的初始化操作,当然这种是最后迫不得已的选择。我们在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免费测试