Pregunta

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 
¿Fue útil?

Solución

>>> class A:
    def __new__(cls):
        return 5
>>> A()
5
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top