NameError:未定义name's'

Use*_*ser 0 python python-3.x

我是Python的新手.我正在尝试创建一个只允许创建对象的类.我正在使用私有变量实例来跟踪计数.我的代码 -

class s:
    __instance=2

    if s.__instance<2:
        def __init__(self,x):
            s._instance = x
            s._instance = s._instance+1
            print(s._instance)

a=s(5)
Run Code Online (Sandbox Code Playgroud)

当我运行我得到的代码 -

"C:\Users\PIYU\AppData\Local\Programs\Python\Python36\python.exe" 
"C:/Users/PIYU/PycharmProjects/PythonProgram/singleton.py"
  Traceback (most recent call last):
    File "C:/Users/PIYU/PycharmProjects/PythonProgram/singleton.py", line 1, in <module>
    class s:
    File "C:/Users/PIYU/PycharmProjects/PythonProgram/singleton.py", line 4, in s
    if s.__instance<2:
    NameError: name 's' is not defined
Run Code Online (Sandbox Code Playgroud)

int*_*ser 5

该错误是因为您s在实际定义之前尝试引用它自己的定义.我会尝试使用该条件__init__而不是之前.