|
发表于 2020-3-19 11:53:47
|
显示全部楼层
你说的计数用的应该是静态变量,直接用类名调用,全局变量不能在类或者函数中声明,只是在类或者函数中使用的时候前面加上global关键字。
- #!/usr/bin/python3
- tag=1
- class Animal():
- def __init__(self, age):
- self.age = age
- def get_age(self):
- return self.age
- def set_name(self, name):
- self.name = name
- def get_name(self):
- try:
- return self.name
- except:
- print("Set name first!")
- def __repr__(self):
- return self.name + ":" + str(self.age)
- class Rabbit(Animal):
- stc_attr=0
- def __init__(self, age, parent1=None, parent2=None):
- global tag
- Animal.__init__(self, age)
- self.parent1 = parent1
- self.parent2 = parent2
- self.rid = tag
- Rabbit.stc_attr+=1
- print('tag:%d'%tag)
- print('stc_attr:%d'%Rabbit.stc_attr)
- tag += 1
- a1=Rabbit(1,'aa','aaa')
- a2=Rabbit(2,'bb','bb')
复制代码 |
|