和C语言一样���你可以将一行长代码分成多行。但是在Python中,如果我这样做,会出现缩进错误…… 这可行吗?
和C语言一样���你可以将一行长代码分成多行。但是在Python中,如果我这样做,会出现缩进错误…… 这可行吗?
在Python中,推荐使用括号、方括号和花括号中的隐式行连续性来换行。如果需要,您可以在表达式周围添加额外的括号,但有时使用反斜杠更好看。请确保适当缩进延续的行。
隐式行连续性示例:
a = some_function(
'1' + '2' + '3' - '4')
关于二元运算符周围的换行符,文中继续说道:
数十年来建议的风格是在二元运算符后面换行。 但这种方法有两种方式会影响可读性:运算符通常分散在屏幕上的不同列中,每个运算符都被移动到其操作数之外,并移到前一行。
在 Python 代码中,可以在二元运算符前后换行,只要局部遵守相应的约定即可。对于新代码,建议采用 Knuth 风格(在运算符 之前 换行)。
显式换行示例:
a = '1' \
+ '2' \
+ '3' \
- '4'
for
循环创建目录:for i in dir1\
(新行) dir2\
(新行) dir3\
(新行) ... mkdir $i
为了让这个脚本运行,反斜杠后面不能有空格。 - DavidC.有多种方法可以做到这一点。
1). 一个冗长的陈述:
>>> def print_something():
print 'This is a really long line,', \
'but we can make it across multiple lines.'
2). 使用括号:
>>> def print_something():
print ('Wow, this also works?',
'I never knew!')
3). 再次使用\
:
>>> x = 10
>>> if x == 10 or x > 0 or \
x < 100:
print 'True'
引用PEP8:
在Python中,推荐使用括号、方括号和花括号的隐式换行来处理较长的代码行。如果需要的话,您可以在表达式周围添加一个额外的括号,但是有时使用反斜杠更好看。请确保正确缩进延续的代码行。对于二元运算符,首选断点是在运算符之后而不是之前。
如果您想将一个长字符串赋值给变量,可以按照以下方法进行:
net_weights_pathname = (
'/home/acgtyrant/BigDatas/'
'model_configs/lenet_iter_10000.caffemodel')
不要添加任何逗号,否则你会得到一个包含多个字符串的元组!
f
, f"/app/{self.product_name}/ranks?start_date={self.week_ago_str}&end_date={self.today_str}")```
- Charlie 木匠它在Python中也可以工作:
>>> 1+\
2+\
3
6
>>> (1+
2+
3)
6
在尝试输入连续的文本(例如查询)时,请勿在行末加逗号,否则您将获得一个字符串列表而不是一个长字符串:
queryText= "SELECT * FROM TABLE1 AS T1"\
"JOIN TABLE2 AS T2 ON T1.SOMETHING = T2.SOMETHING"\
"JOIN TABLE3 AS T3 ON T3.SOMETHING = T2.SOMETHING"\
"WHERE SOMETHING BETWEEN <WHATEVER> AND <WHATEVER ELSE>"\
"ORDER BY WHATEVERS DESC"
有一个像这样的评论。
来自acgtyrant
的评论,抱歉,之前没有看到。:/
'''
或"""
的多行字符串,SQL不会介意CR / LF。 - dsz使用一对三引号将 DB 相关的代码分成多行写,这样看起来更加清晰易读:
SQL = """SELECT
id,
fld_1,
fld_2,
fld_3,
......
FROM some_tbl"""
比下面这条巨长的线更好:
SQL = "SELECT id, fld_1, fld_2, fld_3, .................................... FROM some_tbl"
"""like this"""
)内的括号、方括号和字符串有隐式的行延续,而延续行的缩进并不重要。如果您需要更多信息,建议阅读来自python.org的关于词法分析的这篇文章。