在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!”,這種情況不適合分行書寫。