fre*_*ude 4 python coding-style
这个问题是风格之一.由于python中的属性不是私有的,使用类似的东西直接在类之外解决它们是一种好的常见做法my_obj.attr吗?或者,也许,通过成员函数来做它仍然更好,就像get_attr()在c ++中通常的做法一样?
jam*_*lak 12
听起来你想要使用属性:
class Foo(object):
def __init__(self, m):
self._m = m
@property
def m(self):
print 'accessed attribute'
return self._m
@m.setter
def m(self, m):
print 'setting attribute'
self._m = m
>>> f = Foo(m=5)
>>> f.m = 6
setting attribute
>>> f.m
accessed attribute
6
Run Code Online (Sandbox Code Playgroud)
这是访问变量的最自适应方式,对于您不需要执行此操作的简单用例,在Python中,您可以随时更改设计以便以后免费使用属性.
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |