Skip to main content
 首页 » 编程设计

python之使用变量构造一个长的 Python 字符串

2025年05月04日12lyhabc

我有一个 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.