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