声明:在人工智能技术教学期间,不少学生向我提一些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

但是不建议这么做。因为让每条语句都在其自身的行上会让代码的可读性更好。