我想知道是否有一些方法可以使用Pycharm为类中的所有变量自动生成getter(@property)或setter.
如果有办法,有人可以指出吗?
谢谢!实际上我的意思是自动生成(@property)和(@ x.setter).
Gam*_*iac 20
没有办法这样做.您可以提取代码的某些部分,但不能让pycharm为您生成getter和setter.也没有必要,因为所有变量都是公共的,并且_var即使被视为私有变量的值也可以改变.
编辑(有问题的变化):
如果你想在制作getter和setter时编写更少的代码,那么只需使用PyCharm中的props或propsd片段即可.
仅仅因为 Python 不强制使用私有成员并不意味着您必须没有它们。但请注意,getter 和 setter 是函数调用,比直接成员访问慢得多。
PyCharm 不提供为所有私有成员创建属性的菜单,但它有一个实时模板:在您的类中(缩进必须正确)键入 prop 并按 Enter。将出现您的只读属性的存根。
我采用了我的实时模板来轻松生成类似 getter 的属性:打开设置 (Ctrl+Alt+S) -> 编辑器 -> 实时模板 -> Python -> prop
@property
def $NAME$(self):
return self.__$NAME$
Run Code Online (Sandbox Code Playgroud)
props对于读写访问的实时模板也是如此:
@property
def $NAME$(self) -> $TYPE$:
return self.__$NAME$
@$NAME$.setter
def $NAME$(self, $NAME$: $TYPE$):
self.__$NAME$ = $NAME$
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11769 次 |
| 最近记录: |