就像C语言一样,您可以将长行分解为多个短行。但在Python中,如果我这样做,就会出现缩进错误……这可能吗?
当前回答
当尝试输入连续的文本(比如,一个查询)时,不要在行末放逗号,否则你会得到一个字符串列表,而不是一个长字符串:
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上也有这样的评论,抱歉,没看到。:/
其他回答
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"
当尝试输入连续的文本(比如,一个查询)时,不要在行末放逗号,否则你会得到一个字符串列表,而不是一个长字符串:
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上也有这样的评论,抱歉,没看到。:/
如果你想给变量赋一个长字符串,你可以这样做:
net_weights_pathname = (
'/home/acgtyrant/BigDatas/'
'model_configs/lenet_iter_10000.caffemodel')
不要添加任何逗号,否则您将得到一个包含许多字符串的元组!
做这件事的方法不止一种。
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的隐含 括号、括号和大括号内的行续。如果有必要, 您可以在表达式周围添加一对额外的括号,但是 有时使用反斜杠看起来更好。确保将继续的行缩进 适当。二进制转换的首选位置 运算符在运算符之后,而不是在它之前。
据我所知,这是可以做到的。Python为三引号字符串("""像这样""" ")提供隐式续行(在圆括号、括号和字符串中),续行的缩进并不重要。要了解更多信息,您可能需要阅读来自python.org的这篇关于词法分析的文章。
推荐文章
- 在python中,年龄从出生日期开始
- 使用pip安装SciPy
- 在Python中,我应该如何测试变量是否为None, True或False
- 如何在Python中从毫秒创建datetime ?
- 如何解窝(爆炸)在一个熊猫数据帧列,成多行
- 如何使用pip安装opencv ?
- 在pip冻结命令的输出中“pkg-resources==0.0.0”是什么
- 格式y轴为百分比
- 熊猫连接问题:列重叠但没有指定后缀
- 为什么空字典在Python中是一个危险的默认值?
- 在Python中,冒号等于(:=)是什么意思?
- Python "SyntaxError:文件中的非ascii字符'\xe2' "
- 如何从psycopg2游标获得列名列表?
- Python中dict对象的联合
- 如何有效地比较两个无序列表(不是集合)?