Tôi đang tạo một chương trình có thể truy cập dữ liệu được lưu trữ bên trong một lớp. Vì vậy, ví dụ tôi có lớp học này:In tất cả các biến trong một lớp học? - Python
#!/usr/bin/env python
import shelve
cur_dir = '.'
class Person:
def __init__(self, name, score, age=None, yrclass=10):
self.name = name
self.firstname = name.split()[0]
try:
self.lastname = name.split()[1]
except:
self.lastname = None
self.score = score
self.age = age
self.yrclass = yrclass
def yrup(self):
self.age += 1
self.yrclass += 1
if __name__ == "__main__":
db = shelve.open('people.dat')
db['han'] = Person('Han Solo', 100, 37)
db['luke'] = Person('Luke Skywalker', 83, 26)
db['chewbacca'] = Person('Chewbacca', 100, 90901)
Vì vậy, sử dụng này, tôi có thể gọi ra một biến duy nhất như:
print db['luke'].name
Nhưng nếu tôi muốn in tất cả các biến, tôi là một chút mất.
Nếu tôi chạy:
f = db['han']
dir(f)
tôi nhận được:
['__doc__', '__init__', '__module__', 'age', 'firstname', 'lastname', 'name', 'score', 'yrclass', 'yrup']
Nhưng tôi muốn để có thể in các dữ liệu thực tế của những người.
Tôi làm cách nào để thực hiện việc này?
Cảm ơn trước!
Cảm ơn người đàn ông heaps! –