В Python 3 все должно быть объектом, даже номерами, но они неизменяемым.Можно ли сделать объект-обертку для чисел, например. плавать, чтобы сделать его изменчивым?
Можно ли создать объект-обертку для чисел, например. float, так что он будет вести себя как обычные числа, кроме того, что он должен быть изменен?
Я задавался вопросом, будет ли это возможно с помощью встроенного типа функции путем создания анонимной объект-оболочку, производный от поплавка, но изменить его поведение, чтобы быть изменяемым.
>>> f = lambda x : type('', (float,), dict())(x)
>>> a = f(9)
>>> a
9.0
Какие параметры я должен изменить ф сделать номер в быть изменяемым?
Как проверить, является ли число изменчиво:
я должен быть в состоянии создать такую функцию е что бы создать из целого значения значение с плавающей точкой и после поверхностного копирования он будет вести себя следующим образом:
>>> 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() или добавить дополнительный базовый класс, который обеспечил бы изменчивость?