在C、Java等语言的语法中规定,必须以分号作为语句结束的标识。Python也支持分号,同样用于一条语句的结束标识。但在Python中分号的作用已经不像C、Java中那么重要了,Python中的分号可以省略,主要通过换行来识别语句的结束。
例如,以下两行代码是等价的:
- print "hello world!"
- print "hello world!";
第1行代码的输出结果:
- hello world!
第2行代码的输出结果:
- hello world!
如果要在一行中书写多条句,就必须使用分号分隔每个语句,否则Python无法识别语句之间的间隔:
- # 使用分号分隔语句
- x=1; y=1 ; z=1
第2行代码有3条赋值语句,语句之间需要用分号隔开。如果不隔开语句,Python解释器将不能正确解释,提示语法错误:
- SyntaxError: invalid syntax
注意分号不是Python推荐使用的符号,Python倾向于使用换行符作为每条语句的分隔,简单直白是Python语法的特点。通常一行只写一条语句,这样便于阅读和理解程序。一行写多条语句的方式是不好的习惯。
Python同样支持多行写一条语句,Python使用“\\”作为换行符。在实践中,一条语句写在多行也是非常常见的。
【例】把SQL语句作为参数传递给函数,由于SQL的语句一般非常长,为了阅读方便,因此需要换行书写。
- # 字符串的换行
- # 写法一
- sql = "select id,name \\
- from dept \\
- where name = 'A'"
- print sql
- # 写法二
- sql = "select id,name " \\
- "from dept " \\
- "where name = 'A'"
- print sql
写法一只使用了一对双引号,把SQL语句分为select、from、where等3部分分别书写。
第6行代码输出结果:
- select id,name from dept where name = 'A'
写法二使用了3对双引号,select、from、where分别对应一对双引号。
第11行代码输出结果:
- select id,name from dept where name = 'A'
第二种写法比第一种写法的可读性更强,可以使用空格和制表符对齐语句,使代码显得更工整。对于简短的语句不推荐换行的写法,这种写法只会造成阅读的复杂性。下面这段程序是不合理的换行写法:
- # 一条语句写在多行
-
- print \\
- "hello world!"
第2行~第3行代码是一个整体,调用print输出“hello world!”,这种情况不适合分行书写。