我正在使用pypi dataset进行数据库交互。 它说我们可以排成任何类似dict的类。
您能举几个关于属性,属性和方法继承的示例吗?特别是构造函数&析构函数。
答案 0 :(得分:3)
从字典继承与继承任何其他类型不同。考虑这个简单的例子:来自dict
的子类而不添加任何功能:
class Employee(dict):
pass
e = Employee()
e['name'] = 'Tushar Jain'
添加一些属性getter和setter以便更轻松地访问属性:
class Employee(dict):
@property
def name(self):
return self['name']
@name.setter
def name(self, value):
self['name'] = value
e = Employee()
e.name = 'Tushar Jain'
print(e)
答案 1 :(得分:1)
您可能会发现AttrDict对于快速创建类很有用。它使用了引擎盖下的字典,因此您应该能够将其传递给数据集。
可以设置和读取dict的键作为属性。
E.g。
import attrdict
from datetime import date
class Employee(attrdict.AttrDict):
def get_years_of_service(self):
return date.today() - self.start_date
>>> steve = Employee()
>>> steve.name = "Steve"
>>> steve.age = 41
>>> print steve.age
41
>>> print steve['age']
41
>>> steve.start_date = date(year=2001, month=1, day=1)
>>> print steve.get_years_of_service()
5555 days, 0:00:00
仅导出属性(而非方法)。