Вопрос

I want my class to return an Integer instance like when you override __str__ But Integer type. I don't understand why the following code wont work.

class A:
    def __init__(self):
        global x
        x=5
    def __new__(cls):
        return  x       
print(A())
#it says: NameError: global name 'x' is not defined 
Это было полезно?

Решение

>>> class A:
    def __new__(cls):
        return 5
>>> A()
5
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top