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
,如果它需要使定义顺序有意义的话),但那是不是默认值。
在Python中Class定义变量和函数的顺序无关紧要.
例如,有"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
在 python 3.x 中的 class 中定义变量和函数时,定义变量和函数的顺序重要吗?
在您调用 main 中的 class 之前是否预先编译了 class 代码?
class 属性的顺序无关紧要,除非在特定情况下(例如,当对访问器使用装饰器符号时的属性)。 class 对象本身将在 class
块退出后实例化。
默认情况下,在 class
语句中的代码块中定义的所有名称都成为 dict
中的键(传递给 metaclass 以实际实例化 class 当所述块全部完成时)。在 Python 3 中,您可以更改它(metaclass 可以告诉 Python 使用另一个映射,例如 OrderedDict
,如果它需要使定义顺序有意义的话),但那是不是默认值。
在Python中Class定义变量和函数的顺序无关紧要.
例如,有"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