我有一个 python 字符串,它基本上是 3 个变量的串联。我正在使用 f-strings 使其成为一个字符串。现在看起来像这样:
my_string = f'{getattr(RequestMethodVerbMapping, self.request_method).value} {self.serializer.Meta.model.__name__} {self.request_data['name']}'
这给了我输出:
Create IPGroup test-create-demo-098
正是我想要的输出。但是,很明显,该行太长,现在 Pylint 开始提示,所以我尝试使用多行 f-strings 拆分该行,如下所示:
my_string = f'''{getattr(RequestMethodVerbMapping, self.request_method).value}
{self.serializer.Meta.model.__name__} {self.request_data['name']}'''
Pylint 现在很开心,但我的字符串看起来像这样:
Create
IPGroup test-create-demo-098
执行此操作的最佳方法是什么,以便我将我的字符串放在一行中,并使 Pylint 因该行超过 120 个字符而静音?
请您参考如下方法:
这本身就是一长行,我不会尝试将很多内容放入一行,而是将其分解并应用 "Extract Variable"可读性重构方法:
request_method_name = getattr(RequestMethodVerbMapping, self.request_method).value
model_name = self.serializer.Meta.model.__name__
name = self.request_data['name']
my_string = f'{request_method_name} {model_name} {name}'
我认为以下的智慧来自Zen of Python很适合我们的问题:
Sparse is better than dense.
Readability counts.
