python系列教程144——跨行代码
Posted 人工智能AI技术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python系列教程144——跨行代码相关的知识,希望对你有一定的参考价值。
朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow
声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!想要学习AI技术的同学可以点击跳转到我的教学网站。PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!
Python的语句一般都是在行末尾结束的。不过,当语句太长、难以单放在一行时,有些特殊的规则可用于使其位于多行之中。
•如果使用括号对,语句就可横跨数行。如果在封闭的()、或[]这类配对中编写代码,Python就可让你在下一行继续输入语句。
•如果语句以反斜线\\结尾,也可横跨数行。这种方法几乎都已经不再使用了。因为很容易导致错误:偶尔忘掉一个\\通常会产生语法错误,并且可能导致下一行默默地被错误地看做一条新语句,这会产生不可预期的结果。
•三重引号字符串块也可以横跨数行。
以下是使用括号配对规则让行保持连续的例子。你可以把内容放在任意数目的行中:
L = ["Good",
"Bad",
"Ugly"] # Open pairs may span lines
如果你喜欢使用反斜线来使这一行继续也是可以的,但是这在实际的Python中并不是很常见。
if a == b and c == d and \\
d == e and f == g:
print('olde') # Backslashes allow continuations...
因为任何表达式都可以包含在括号内,如果程序代码需要横跨数行,你可以直接把语句包含在圆括号中:
if (a == b and c == d and
d == e and e == f):
print('new') # But parentheses usually do too
反斜线则不太好用,因为它们太容易被漏掉了。在下面的例子中,x通过反斜杠赋值为10,这是本来的意图;如果偶然漏掉了反斜杠,那么,x赋值为6,并且不会报告错误(+4本身是一个有效的表达式语句)。在复杂赋值的实际程序中,这可能会引发一个非常令人讨厌的bug:
x = 1 + 2 + 3 \\ # Omitting the \\ makes this very different
+4
另一种特殊情况是,Python允许在相同行上编写一个以上的非复合语句(语句内未嵌套其他语句),由分号隔开。有些程序员使用这种形式来节省程序文件的量,但是,如果你坚持一个语句一行,会使程序更具可读性:
x = 1; y = 2; print(x) # More than one simple statement
最后,Python可把复合语句的主体上移到首行,只要该主体是简单(非复合)语句。简单if语句及单个测试和动作常常用到这种用法:
if 1: print('hello') # Simple statement on header line
但是不建议这么做。因为让每条语句都在其自身的行上会让代码的可读性更好。
以上是关于python系列教程144——跨行代码的主要内容,如果未能解决你的问题,请参考以下文章