如果我有一行很长的代码,是否可以在下一行继续,例如:
url='http://chart.apis.google.com/chart?chxl=1:|0|10|100|1,000|10,000|'
+ '100,000|1,000,000&chxp=1,0&chxr=0,0,' +
max(freq) + '300|1,0,3&chxs=0,676767,13.5,0,l,676767|1,676767,13.5,0,l,676767&chxt=y,x&chbh=a,1,0&chs=640x465&cht=bvs&chco=A2C180&chds=0,300&chd=t:'
Python将两个字符串文字组合在一起,因此
但是如果它们在两行上,那就不起作用,因为Python不知道下一行是命令的一部分。要解决这个问题,可以使用反斜杠或方括号。
您不需要
+
将字符串连接在一起。如String Literal Concatenation中所述,您仍然需要它来添加max(freq)
等非文字。这稍微有点效率,但更重要的是更清晰,并支持注释部分字符串,如链接的Python文档所示。今后在哪里寻求帮助
像这样的大多数语法问题都在PEP 8中处理。有关此问题的答案,请参阅“代码布局”一节。
首选方法:使用
()
,{}
&;[]
来自PEP-8:
这意味着您的示例希望:
替代方法:使用
\
来自PEP-8:
避免连接
字符串格式
在这种情况下,我们只想在URL中更改一件事:
max(freq)
。为了有效地将其插入到新字符串中,我们可以使用带数字或命名参数的format
方法:我会这样写的
请注意,连接字符串不需要
+
。这样更好,因为字符串是在编译时而不是运行时连接的。我还将
%(max_freq)s
嵌入到字符串中,这是从最后的dict
替换而来的如果您想简化url处理,也可以查看^{}
相关问题 更多 >
编程相关推荐