今天练习了下类变量和局部变量的访问,写一个简单的类来模拟测试下,
class A:
name = "uu" # 类变量 name
def test(self):
name = "dd" # test方法中的局部变量 name,只能在test方法内部使用
self.name = "sdd" # 实例变量 name ,可以在整个类中使用,也可以通过类对象.name来使用(但是必须要先初始化)
print("%s-%s-%s" %(A.name, name, self.name))
print(A.name,id(A.name),end="--")
print(name,id(name),end="--")
print(self.name,id(self.name),end="--")
self.test_1()
def test_1(self):
print("-----in test_1-----")
#print("-----%s-----" % name) # 报错,name not defined,因为name是在test方法中定义的局部变量,只能在test方法中使用
print("-----%s-----" % A.name)
print("-----%s-----" % self.name)
运行结果
A().test()
uu-dd-sdd
uu 36713280–dd 38691928–sdd 38691984-------in test_1-----
-----uu-----
-----sdd-----
个人练习的一些记录以备查阅