• 注册
当前位置:1313e > python >正文

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 andd == 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

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

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录