我经历过这个:
What is a metaclass in Python?
但是,任何人都可以更具体地解释什么时候我应该使用元类概念,什么时候它非常方便?
假设我有一个类如下:
class Book(object):
CATEGORIES = ['programming','literature','physics']
def _get_book_name(self,book):
return book['title']
def _get_category(self, book):
for cat in self.CATEGORIES:
if book['title'].find(cat) > -1:
return cat
return "Other"
if __name__ == '__main__':
b = Book()
dummy_book = {'title':'Python Guide of Programming', 'status':'available'}
print b._get_category(dummy_book)
对于这堂课.
在哪种情况下我应该使用元类,为什么它有用?
提前致谢.