我不断看到使用了以下装饰:@staticmethod,@property例如:
@staticmethod
def add_url():
return reverse('add_user')
@property
def password_not_expired(self):
return not self.password_expired
Run Code Online (Sandbox Code Playgroud)
有人可以解释何时使用其中一个?说我想添加此代码:
def get_user_type(self):
return self.user_type
Run Code Online (Sandbox Code Playgroud)
我会用一种@staticmethod方法吗?
Eev*_*vee 10
你不能用self在@staticmethod.因为唯一@staticmethod能做的就是不要传递 函数self.看看你自己的例子:add_url不参与self辩论.
这里的"静态"是对C++和Java如何使用它的完全误导的意义.Python @staticmethod实际上只是一个恰好存在于类中的常规函数,与值是否发生变化无关.
您可以在@property不编写setter的情况下使用.事实上,这可能是最常用的方式.
| 归档时间: |
|
| 查看次数: |
2224 次 |
| 最近记录: |