dav*_*ave 0 python oop design-patterns
我见过很多模块允许人们使用以下方式访问数据:
print blah.name
Run Code Online (Sandbox Code Playgroud)
相反:
print blah.get_name()
Run Code Online (Sandbox Code Playgroud)
鉴于名称是静态变量,使用变量方法而不是调用函数似乎是更好的选择.
我想知道最好的"设计"是用来实现这个.例如,给定一个Person对象,我应该如何公开name和age?
class Person:
def __init__(self, id):
self.name = self.get_name(id)
self.age = self.get_age(id)
def get_name(self, id=None):
if not id:
return self.name
else:
# sql query to get the name
Run Code Online (Sandbox Code Playgroud)
这将允许我:
x = Person
print x.name
Run Code Online (Sandbox Code Playgroud)
有推荐的替代方案吗?
| 归档时间: |
|
| 查看次数: |
395 次 |
| 最近记录: |