PyCharm - 尾部类型提示和线宽限制
PyCharm - Trailing type hints and line width limit
在 PyCharm 中,我通常对变量使用尾随 type hints(不确定调用它们的正确方法),例如:
my_var = my_other_variable # type: MyObject
但是,有时我已经有很长的行我无法真正拆分,或者类型提示有点长,例如:
my_var = my_really_long_variable_name # type: QtWidgets.QVeryLongQtClassName
这会使整行长于我的行宽限制(79 个字符),因此 PyCharm 会发出警告。
因此,有没有办法将类型提示放在不同的行中?我尝试了这些,但它们似乎不起作用:
# type: QtWidgets.QVeryLongQtClassName
my_var = my_really_long_variable_name
my_var = my_really_long_variable_name \
# type: QtWidgets.QVeryLongQtClassName
我能想到的最接近的是这个,它可能不会真正缩短线宽:
my_var = \
my_really_long_variable_name # type: QtWidgets.QVeryLongQtClassName
否则,我唯一的选择就是做这样的事情:
v = my_really_long_variable_name
my_var = v # type: QtWidgets.QVeryLongQtClassName
根据我所做的测试,另一种缩短类型的方法似乎不起作用;在这种情况下,PyCharm 似乎难以识别 my_var
的类型实际上是 QtWidgets.QVeryLongQtClassName
:
t = QtWidgets.QVeryLongQtClassName
my_var = my_really_long_variable_name # type: t
我发现直接从模块中导入 class 名称对于类型注释的使用非常方便。例如:
from QtWidgets import QVeryLongQtClassName
my_var = my_really_long_variable_name # type: QVeryLongQtClassName
我还没有遇到过像你这种态度的问题。
但是,我发现这个版本是注释长行的最易读和最方便的方式:
my_var = \
my_really_long_variable_name # type: QtWidgets.QVeryLongQtClassName
更新:另一种实现方式:
my_var = (
my_really_long_variable_name
) # type: QtWidgets.QVeryLongQtClassName
此外,它在大多数 IDE 中都受支持并且不会引起问题。
在 PyCharm 中,我通常对变量使用尾随 type hints(不确定调用它们的正确方法),例如:
my_var = my_other_variable # type: MyObject
但是,有时我已经有很长的行我无法真正拆分,或者类型提示有点长,例如:
my_var = my_really_long_variable_name # type: QtWidgets.QVeryLongQtClassName
这会使整行长于我的行宽限制(79 个字符),因此 PyCharm 会发出警告。
因此,有没有办法将类型提示放在不同的行中?我尝试了这些,但它们似乎不起作用:
# type: QtWidgets.QVeryLongQtClassName
my_var = my_really_long_variable_name
my_var = my_really_long_variable_name \
# type: QtWidgets.QVeryLongQtClassName
我能想到的最接近的是这个,它可能不会真正缩短线宽:
my_var = \
my_really_long_variable_name # type: QtWidgets.QVeryLongQtClassName
否则,我唯一的选择就是做这样的事情:
v = my_really_long_variable_name
my_var = v # type: QtWidgets.QVeryLongQtClassName
根据我所做的测试,另一种缩短类型的方法似乎不起作用;在这种情况下,PyCharm 似乎难以识别 my_var
的类型实际上是 QtWidgets.QVeryLongQtClassName
:
t = QtWidgets.QVeryLongQtClassName
my_var = my_really_long_variable_name # type: t
我发现直接从模块中导入 class 名称对于类型注释的使用非常方便。例如:
from QtWidgets import QVeryLongQtClassName
my_var = my_really_long_variable_name # type: QVeryLongQtClassName
我还没有遇到过像你这种态度的问题。
但是,我发现这个版本是注释长行的最易读和最方便的方式:
my_var = \
my_really_long_variable_name # type: QtWidgets.QVeryLongQtClassName
更新:另一种实现方式:
my_var = (
my_really_long_variable_name
) # type: QtWidgets.QVeryLongQtClassName
此外,它在大多数 IDE 中都受支持并且不会引起问题。