-2
我試圖存儲對象,是能夠做到這一點successfully..But我有問題,而treiving it..Error如下Python的擱置無法檢索對象
給出person.py
class Person:
def __init__(self, name, age, pay=0, job=None):
self.name = name
self.age = age
self.pay = pay
self.job = job
def lastname(self):
return self.name.split()[-1]
def giveraise(self,percent):
#return self.pay *= (1.0 + percent)
self.pay *= (1.0 + percent)
return self.pay
Manager.py
from Person import Person
class Manager(Person):
def giveRaise(self, percent, bonus=0.1):
self.pay *= (1.0 + percent + bonus)
return self.pay
update_db_classes.py
import shelve
from Person import Person
from Manager import Manager
bob = Person('Bob Smith', 42, 30000, 'software')
sue = Person('Sue Jones', 45, 40000, 'hardware')
tom = Manager('Tom Doe', 50, 50000)
db = shelve.open('class-shelve')
db['bob'] = bob
db['sue'] = sue
db['tom'] = tom
db.close()
代碼以檢索對象.. dump_db_classes.py
import shelve
db = shelve.open('class-shelve')
for key in db:
print(key, '=>\n ', db[key].name, db[key].pay)
bob = db['bob']
print(bob.lastName())
print(db['tom'].lastName())
錯誤: C:\ Python27 \基本> dump_db_classes.py BOB => Bob Smith的30000 告=> 蘇瓊斯40000 湯姆=> 湯姆·多伊50000 回溯(最近通話最後一個): 文件 「C:\ Python27 \基礎\ dump_db_classes.py」,8號線,在 打印(bob.lastName()) AttributeError的:「人'對象沒有屬性'lastName'
Firstable你問這個問題之前閱讀蟒蛇基礎! –