我决定今天开始学习 python,采用传统的“尝试随机的东西直到有效果”的方式。
我开始阅读类,然后是属性,并尝试自己创建一些。大多数示例,甚至本网站上的问题示例,都定义如下属性:
class C(object):
def __init__(self):
self._x = None
@property
def x(self):
"""I'm the 'x' property."""
return self._x
@x.setter
# etc. taken from the python tutorial
当我开始在我的文本编辑器中输入“@pro”并点击选项卡时,它完成了:
# ... Class stuff ...
@def foo():
doc = "The foo property."
def fget(self):
return self._foo
def fset(self, value):
self._foo = value
foo = property(**foo())
这些是否做同样的事情,如果他们这样做,我应该使用哪一个(即哪个被认为是更好的做法)?