我目前正在研究一个可以从模型生成java域类的python脚本。在编写生成器时,我写了这一行:
# sb is a StringBuilder
sb.add('public void set%s(%s %s) {\n\tthis.%s = %s;\n}\n'
% (prop.name.capitalize(), prop.type, prop.name, prop.name, prop.name))
输出以下内容(包含prop.name = "name"
和prop.type = "String"
):
public void setName(String name) {
this.name = name;
}
我觉得重复prop.name
3次有点多余,我预见在这个脚本完成之前会写出更多这些行。我想知道是否有一种更清晰地编写元组的方法,可能类似于(..., prop.name * 3)
答案 0 :(得分:3)
您可以使用新的字符串格式化程序:
sb.add(
'public void set{capital_name}({type} {name}) {{\n\tthis.{name} = {name};\n}}\n'.format(
capital_name=prop.name.capitalize(), type=prop.type, name=prop.name)
)