Class (Python) 中变量和函数的顺序是否重要

Does the order of variables and functions matter in Class (Python)

在 python 3.x 中的 class 中定义变量和函数时,定义变量和函数的顺序重要吗?

在您调用 main 中的 class 之前是否预先编译了 class 代码?

class 属性的顺序无关紧要,除非在特定情况下(例如,当对访问器使用装饰器符号时的属性)。 class 对象本身将在 class 块退出后实例化。

默认情况下,在 class 语句中的代码块中定义的所有名称都成为 dict 中的键(传递给 metaclass 以实际实例化 class 当所述块全部完成时)。在 Python 3 中,您可以更改它(metaclass 可以告诉 Python 使用另一个映射,例如 OrderedDict,如果它需要使定义顺序有意义的话),但那是不是默认值。

PythonClass定义变量和函数的顺序无关紧要.

例如,有"Text" class 如下所示,那么它可以正常显示 "Hello World" :

class Text:
    text1 = "Hello"
    
    def __init__(self, text2):
        self.text2 = text2            
   
    def helloWorld(self):
        return self.text1 + " " + self.text2
       
    def display(self):    
        print(self.helloWorld())
        
text = Text("World")
text.display() # "Hello World" is displayed

接下来,我将 class 属性颠倒过来,如下所示,然后它仍然可以正常显示 "Hello World":

class Text:
    def display(self):    
        print(self.helloWorld())
   
    def helloWorld(self):
        return self.text1 + " " + self.text2
        
    def __init__(self, text2):
        self.text2 = text2
        
    text1 = "Hello"
        
text = Text("World")
text.display() # "Hello World" is displayed