class A:
A = "你好"
def test_a(self):
self.m = "hello" #实例变量
def test_b(self):
self.test_a()
# 要访问同个类中的其它方法定义的实例变量,必须先调用该方法,不然会报错
n = self.m + "world"
print(n)
if __name__ == '__main__':
A = A()
A.test_b()
标准的调用过程:
要访问同个类中的其它方法定义的实例变量,必须先调用该方法
python中同一个类中方法之间的变量调用情况,如下图
class A:
A = "你好"
def test_a(self):
self.m = "hello"
def test_b(self):
self.test_a()
# 要访问同个类中的其它方法定义的实例变量,必须先调用该方法,不然会报错
n = self.m + "world"
print(n)
def test_c(self):
c = self.A + "world" # 类变量A可以用self.变量名直接调用
print(c)
if __name__ == '__main__':
A = A()
# A.test_b()
A.test_c()
执行结果:
class A:
A = "你好"
def test_a(self):
self.m = "hello" #实例变量
def test_b(self):
self.test_a()
# 要访问同个类中的其它方法定义的实例变量,必须先调用该方法,不然会报错
n = self.m + "world"
print(n)
def test_c(self):
c = self.m+ "world"
# 如果上面的方法调用了方法test_a(),这里可以直接调用self.m
#没报错,不知什么原因
print(c)
if __name__ == '__main__':
A = A()
A.test_b()
A.test_c()
执行结果:
class A:
A = "你好"
def test_a(self):
self.m = "hello" #实例变量
# def test_b(self):
# self.test_a()
# # 要访问同个类中的其它方法定义的实例变量,必须先调用该方法,不然会报错
# n = self.m + "world"
# print(n)
def test_c(self):
c = self.m+ "world"
# 如果上面的方法没有调用方法test_a(),这里调用self.m报错
print(c)
if __name__ == '__main__':
A = A()
#A.test_b()
A.test_c()
执行结果: