class Student(object):
def __init__(self, name, score):
self.name = name
self.score = score
bart = Student('Bart Simpson', 59)
emma = Student('Emma Watosn', 100)
请问如何历遍 Student 的所有成员 bart 和 emma?
1
zwzmzd 2016-06-07 21:49:04 +08:00 via Android
提个简单思路: filter 对应作用域中的所有对象
|
2
htfy96 2016-06-07 21:50:16 +08:00
https://stackoverflow.com/questions/328851/printing-all-instances-of-a-class
1. 加个类成员 instance[], __init__里把 self 弱引用加到数组里 2. 用 gc 模块遍历所有存活对象, 用 isinstance 判断 相对来说 1 更好一点, 但搞出这种需求一般是设计有一定问题 |
3
Fallenwood 2016-06-07 21:51:52 +08:00 via Android
|
4
Fallenwood 2016-06-07 21:58:22 +08:00 via Android
看错需求了。。。
搞个数组记录吧。。。 |
5
WinterWu 2016-06-08 10:52:36 +08:00 via iPhone
怎么做有很多方法,但是二楼说的很对。这个需求有错误!先要搞清楚目的是什么?比如要管理所有学生,以班级分,那应该有个班级类,内置数组。需求要清楚,抽象关系清晰,就不会提出这种问题了。除非是要 hack ,否则不应该有这种需求。
|