我是Python的初学者.我知道空间在编译中起着重要作用.所以我在同一个python脚本文件中有以下两个类:
class ClassA:
def __init__(self):
self.x = {}
def _methodA1():
# Something
def _methodA2():
# Something
class ClassB:
def _methodB1():
# Something
def _methodB2():
# Something
def MethodX():
print "Hello World"
Run Code Online (Sandbox Code Playgroud)
(1)MethodX属于哪一类?
(2)我们可以说ClassB是内在的一类ClassA吗?
(3)如果MethodX属于ClassA,self.x是否可以通过MethodX?
MethodX 属于没有类,它是一个全局函数,而不是其中一个类的方法ClassA并且ClassB是相同的缩进; 内部类ClassA将匹配方法定义的缩进ClassAMethodX因此无法直接访问任何实例的属性.除此之外,self必须通过方法明确接受为第一个位置论证; 既然MethodX不接受self,就无法访问它.因此,你所有的方法都被打破了; 除非装饰@staticmethod,否则他们需要接受至少一个位置参数(self在常规方法上按惯例调用,并cls按惯例在@classmethods 上调用).