gpt4 book ai didi

python - 切片对象在函数声明中是否可变?

转载 作者:行者123 更新时间:2023-12-04 18:03:45 26 4
gpt4 key购买 nike

了解如何后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)

我现在想知道,切片对象是可变的吗?这会在上述情况下使用默认值导致问题吗?

最佳答案

slice 对象是不可变的。

>>> s = slice(None)
>>> s
slice(None, None, None)
>>> s.start = 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: readonly attribute
>>> s.stop = 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: readonly attribute
>>> s.step = 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: readonly attribute

关于python - 切片对象在函数声明中是否可变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30729055/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com