【发布时间】:2015-08-24 02:16:28
【问题描述】:
在了解了default arguments work 如何在 python 中使用后,我检查了所有代码以查找使用可变序列时可能出现的错误。
现在我有一个函数,其签名是:
def get_measurements(self, shape = slice(None, None, None),
size = slice(None, None, None),
height = slice(None, None, None),
pressure = slice(None, None, None),
LE = slice(None, None, None),
fname = None)
我现在想知道,切片对象是可变的吗?在上述情况下,这是否会导致默认值出现问题?
【问题讨论】:
-
你为什么不尝试分配他们的属性并找出答案?
-
@jonrsharpe “程序测试可以用来显示错误的存在,但永远不能显示它们不存在!” - E.W. Dijkstra
-
“谁在乎 Dijkstra 说什么,你只想知道
slice对象是否可变” - 我,就在现在 -
如果它们是,那不一定是问题,除非
get_measurements()中的某些代码实际上改变了它们。
标签: python default-value mutable