python語法風格


這里只給出其它文章里不適合出現部分語法風格。

python有幾種類型的復合語句:if、for、while、def、class、try/except、with/as等。這些復合類型的語句在編寫時,要遵循python的語法風格:

  1. 冒號結尾復合語句的聲明,如if expr:def f():
  2. 通過縮進數量決定代碼塊層次,同級別的代碼塊縮進數量相同
    • 也就是通過縮進來取代其它語言中的{}表示的代碼塊層次
  3. 代碼體部分縮進,縮進數量隨意,但同一層次的代碼塊縮進數量必須相同
  4. 如果代碼體部分只有一個語句,可以直接放在聲明行冒號的后面,如if expr: print("a")
  5. 可以使用空格或制表符進行縮進,但縮進同一層次時,不要混用空格或制表符
  6. 允許這些復合語句的聲明行部分的表達式不使用括號包圍,但使用括號也不會錯,使用括號是為了確保表達式的優先級
  7. python中的括號類型(如小括號、中括號、大括號)都可以讓代碼換行書寫,也就是續行。雖然\也有效,但不建議。

例如:

if a > 3:
    print("hello world1")
    print("hello world2")
else:
    print("hello world else")

上面if和else位於同一層次的全局(文件)代碼塊,if的主分支兩個語句位於同一層次的代碼塊(縮進相同)。在其他語言中,對等的寫法大概如下:

if (a > 3) {
    print("hello world1")
    print("hello world2")
} else {
    print("hello world else")
}

python中,條件表達式部分加上括號也沒問題:

if (a>3):
    ...

如果代碼體只有單個語句,代碼體可以直接放在冒號后面。例如:

if a > 3:print("a")
def f():print("a")
class F:pass

括號類型包圍的內容,包括列表的中括號[]、集合或字典的大括號{}、元組或表達式或包圍函數參數的小括號(),它們可以隨意換行。

例如:

a = "aaa" + "bbb"
a = ("aaa" + 
     "bbb")

L = [11,22,33,44]
L = [11,22,
    33,44]

D = {"k1":"v1", "k2":"v2", "k3":"v3"}
D = {"k1":"v1",
     "k2":"v2",
     "k3":"v3"}

if a > 3: print(a)
if (a >
    3):print(a)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM