如何获取已使用@property
装饰器修饰的类的所有方法的列表?
通过以下示例,答案应该包含一个仅包含x
和y
但不包含z
的列表,因为它尚未使用@property
进行修饰:
class C(object):
def __init__(self):
self._x = None
self._y = None
@property
def x(self):
"""I'm the 'x' property."""
return self._x
@x.setter
def x(self, value):
self._x = value
@x.deleter
def x(self):
del self._x
@property
def y(self):
return self._y
def z(self):
pass
答案 0 :(得分:6)
由$comments = $project->comments()->get();
foreach($comments as $comment) {
$replicatedComment = $comment->replicate();
$replicatedComment->project_id = $project->id;
$replicatedComment->save();
}
修饰的方法是@property
:
property
答案 1 :(得分:2)
使用以下内容:
k = [name for name, value in vars(C).items() if isinstance(value, property)]
现在,print k
打印:['x', 'y']