在Python 3中,一切都应该是一个对象,偶数,但它们是不可变的。是否可以为数字创建包装对象,例如浮动,使其可变吗?
是否可以为数字创建包装对象,例如:浮动,这样它会像普通数字一样运行,除非它必须是可变的吗?
我不知道是否会使用可行内置型功能通过创建匿名包装对象从浮动派生,但改变它的行为是可变的。
>>> f = lambda x : type('', (float,), dict())(x)
>>> a = f(9)
>>> a
9.0
我必须改变˚F什么参数,使数一个是可变的?
我如何验证一个数是可变的:
我必须能够到f会从整数值创建一个浮点值和浅拷贝后,它会表现在以下方式创建这样的功能:
>>> list_1 = [f(i) for i in [1, 2, 3, 4]]
>>> list_1
[1.0, 2.0, 3.0, 4.0]
>>> list_2 = copy.copy(list_1)
>>> list_1[0] *= 100
>>> list_1
[100.0, 2.0, 3.0, 4.0]
>>> list_2
[100.0, 2.0, 3.0, 4.0]
修改第一个列表,改变了他们两个。
也许我必须添加一些字段到dict()或添加额外的基类强制可变性?