Python不用推薦用分號,而是用回車

lm_y發表於2017-07-28

在C、Java等語言的語法中規定,必須以分號作為語句結束的標識。Python也支援分號,同樣用於一條語句的結束標識。但在Python中分號的作用已經不像C、Java中那麼重要了,Python中的分號可以省略,主要通過換行來識別語句的結束。

例如,以下兩行程式碼是等價的:

  1. print "hello world!"
  2. print "hello world!";

第1行程式碼的輸出結果:

  1. hello world!

第2行程式碼的輸出結果:

  1. hello world!

 

如果要在一行中書寫多條句,就必須使用分號分隔每個語句,否則Python無法識別語句之間的間隔:

  1. # 使用分號分隔語句 
  2. x=1; y=1 ; z=1

第2行程式碼有3條賦值語句,語句之間需要用分號隔開。如果不隔開語句,Python直譯器將不能正確解釋,提示語法錯誤:

  1. SyntaxError: invalid syntax

注意分號不是Python推薦使用的符號,Python傾向於使用換行符作為每條語句的分隔,簡單直白是Python語法的特點。通常一行只寫一條語句,這樣便於閱讀和理解程式。一行寫多條語句的方式是不好的習慣。

 

Python同樣支援多行寫一條語句,Python使用“\\”作為換行符。在實踐中,一條語句寫在多行也是非常常見的。

【例】把SQL語句作為引數傳遞給函式,由於SQL的語句一般非常長,為了閱讀方便,因此需要換行書寫。

  1. # 字串的換行 
  2. # 寫法一 
  3. sql = "select id,name \\ 
  4. from dept \\ 
  5. where name = 'A'" 
  6. print sql 
  7. # 寫法二 
  8. sql = "select id,name " \\ 
  9. "from dept " \\ 
  10. "where name = 'A'"
  11. print sql

寫法一隻使用了一對雙引號,把SQL語句分為select、from、where等3部分分別書寫。

第6行程式碼輸出結果:

  1. select id,name from dept where name = 'A'

寫法二使用了3對雙引號,select、from、where分別對應一對雙引號。

第11行程式碼輸出結果:

  1. select id,name from dept where name = 'A'

第二種寫法比第一種寫法的可讀性更強,可以使用空格和製表符對齊語句,使程式碼顯得更工整。對於簡短的語句不推薦換行的寫法,這種寫法只會造成閱讀的複雜性。下面這段程式是不合理的換行寫法:

  1. # 一條語句寫在多行 
  2.  
  3. print \\ 
  4. "hello world!"

第2行~第3行程式碼是一個整體,呼叫print輸出“hello world!”,這種情況不適合分行書寫。

相關文章