我有一个函数,在运行
E501 line too long (86 > 79 characters)
时会引发 pycodestyle
警告。
def my_function(arg1: list = None) -> Tuple[pd.DataFrame, pd.DataFrame, pd.Dataframe]:
# do stuff
return df1, df2, df3
格式化长返回类型提示的最佳解决方案是什么(最好不更改参数的格式?例如
def my_function(arg1: list = None) -> Tuple[pd.DataFrame,
pd.DataFrame,
pd.Dataframe]:
你可以试试
\
:
def my_function(arg1: list = None)\
-> Tuple[pd.DataFrame, pd.DataFrame, pd.Dataframe]:
你用黑色怎么样?这将自动为您格式化代码。请记住黑色和 pycodestyle 的行长相同
将右括号和返回类型提示放在下一行:
def my_function(arg1: list = None
) -> Tuple[pd.DataFrame, pd.DataFrame, pd.DataFrame]:
# do stuff
return df1, df2, df3
这就是 black 会产生的结果:
def my_function(
arg1: list = None,
) -> Tuple[pd.DataFrame, pd.DataFrame, pd.Dataframe]:
# do stuff
return df1, df2, df3
我通过将您的输入粘贴到文件
long_typehint.py
并运行以下命令来获得此输出:
$ black --line-length 79 long_typehint.py
使用类型别名。
type DataFrames = Tuple[pd.DataFrame, pd.DataFrame, pd.Dataframe]
def my_function(arg1: list = None) -> DataFrames:
# do stuff
return df1, df2, df3