首頁 後端開發 Python教學 Python程式設計規範

Python程式設計規範

Nov 22, 2016 pm 04:35 PM
python

適當的空行有利於增加程式碼的可讀性,加空行可以參考以下幾個準則:

    1) 在類別、函數的定義間加空行;

    2) 在import 不同種類的模組間加空行;

    3) 在函數中的邏輯段落間加空行,即把相關的代碼緊湊寫在一起,作為一個邏輯段落,段落間以空行分隔;

>  斷行

儘管現在的寬螢幕顯示器已經可以單一螢幕顯示超過256 列字符,但本規範仍堅持行的最大長度不得超過80   個字符的標準。折疊長行的方法有以下幾種方法:

    1) 為長變量名換一個短名,如:

this.is.a.very.long.variable_name = this.is.another.long.variable_name
登入後複製

      應改為:

variable_name1 = this.is.a.very.long.variable_name
variable_name2 = this.is.another.variable_name
variable_name1 = variable_name2s
登入後複製

括號   2) 將圓號和中號 Python的行隱式的連結起來,你可以利用這個特點。如需要,你可以在表達式外圍增加一對額外的圓括號

    3) 在長行加入續行符強行斷行,斷行的位置應在運算符前,且換行後多一個縮進,以使維護人員看程式碼的時候看到程式碼行首即可判定這裡存在換行,如:

if color == WHITE or color == BLACK \
    or color == BLUE: # 注意 or 操作符在新行的行首而不是旧行的行尾
do_something(color);
登入後複製

>  字串

    1)  避免在循環中以+且+=運算子來累積字串。由於字串是不可變的,這樣做會創建不必要的臨時對象,並且導致二次方而不是線性的運行時間。作為替代方案,你可以將每個子字串加入列表,然後在循環結束後用 .join 連接列表。 (也可以將每個子字串寫入一個 cStringIO.StringIO 快取中)

    2)  為多行字串使用三重雙引號而非三重單引號。不過要注意, 通常用隱式行連接更清晰,因為多行字串與程式其他部分的縮排方式不一致。

>  命名

一致的命名可以給開發人員減少許多麻煩,而恰如其分的命名則可以大幅提高程式碼的可讀性,降低維護成本。

>>  常數

常數名所有字母大寫,由底線連接各個單字,如

WHITE = 0XFFFFFF
THIS_IS_A_CONSTANT = 1
登入後複製

>>  變數

變數名全部小寫,由下劃線連接各個條件,如同底線使用符號標識,多定義公開成員,少定義私有成員。

變數名稱不應帶有型別訊息,因為 Python 是動態型別語言。如 iValue、names_list、dict_obj 等都是不好的命名。

>>  函數

函數名的命名規則與變數名稱相同。

>>  類

對類別名稱使用大寫字母開頭的單字(如CapWords, 即Pascal風格),則不使用底線連接單字。如:

color = WHITE
this_is_a_variable = 1
登入後複製

>>  模組

模組名全部小寫,包內使用的模組,可以加上一條底線前綴,如

class ThisIsAClass(object):pass
登入後複製

>>  包

包的命名規範與模組相同。

>>  縮寫

命名應當盡量使用全拼寫的單詞,縮寫的情況有以下兩種:

    1) 常用的縮寫,如XML、ID等,在命名時也應隻大寫首字母,如

module.py_
internal_module.py
登入後複製

    2) 命名中含有長單字,對某個單字進行縮寫。此時應使用約定成俗的縮寫方式,如去除母音、包含子音的字首等方式,例如:

        function 縮寫為fn

     

        count 縮寫為cnt

        number 縮寫為num,以等。

>>  特定命名方式

主要是指 __xxx__ 形式的系統保留字命名法。專案中也可以使用這種命名,它的意義在於這種形式的變數是唯讀的,而這種形式的類別成員函數盡量不要重載。如

class XmlParser(object):pass
登入後複製

其中 __id__、__parent__ 和 __message__ 都採用了系統保留字命名法。

>>  導入格式

    1) import 的次序,先 import Python 內建模組,再 import 第三方模組,最後 import 自己開發的專案中的其它模組;這幾種模組用空行分隔開來。

    2) 每個import要獨佔一行。

    3) 不要使用 from module import *,除非是 import 常數定義模組或其它你確保不會出現命名空間衝突的模組。

>  賦值

對於賦值語言,主要是不要做無謂的對齊,如

a            = 1                               # 这是一个行注释
variable = 2                               # 另一个行注释
fn           = callback_function    # 还是行注释
登入後複製

没有必要做这种对齐,原因有两点:一是这种对齐会打乱编程时的注意力,大脑要同时处理两件事(编程和对齐);二是以后阅读和维护都很困难,因为人眼的横向视野很窄,把三个字段看成一行很困难,而且维护时要增加一个更长的变量名也会破坏对齐。直接这样写为佳:

a = 1 # 这是一个行注释
variable = 2 # 另一个行注释
fn = callback_function # 还是行注释
登入後複製

>  语句

通常每个语句应该独占一行。不过, 如果测试结果与测试语句在一行放得下, 你也可以将它们放在同一行。如果是if语句, 只有在没有else时才能这样做。特别地,绝不要对 try/except 这样做,因为try和except不能放在同一行。


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

在PHP和Python之間進行選擇:指南 在PHP和Python之間進行選擇:指南 Apr 18, 2025 am 12:24 AM

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

PHP和Python:深入了解他們的歷史 PHP和Python:深入了解他們的歷史 Apr 18, 2025 am 12:25 AM

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

vs code 可以在 Windows 8 中運行嗎 vs code 可以在 Windows 8 中運行嗎 Apr 15, 2025 pm 07:24 PM

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

visual studio code 可以用於 python 嗎 visual studio code 可以用於 python 嗎 Apr 15, 2025 pm 08:18 PM

VS Code 可用於編寫 Python,並提供許多功能,使其成為開發 Python 應用程序的理想工具。它允許用戶:安裝 Python 擴展,以獲得代碼補全、語法高亮和調試等功能。使用調試器逐步跟踪代碼,查找和修復錯誤。集成 Git,進行版本控制。使用代碼格式化工具,保持代碼一致性。使用 Linting 工具,提前發現潛在問題。

notepad 怎麼運行python notepad 怎麼運行python Apr 16, 2025 pm 07:33 PM

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

vscode 擴展是否是惡意的 vscode 擴展是否是惡意的 Apr 15, 2025 pm 07:57 PM

VS Code 擴展存在惡意風險,例如隱藏惡意代碼、利用漏洞、偽裝成合法擴展。識別惡意擴展的方法包括:檢查發布者、閱讀評論、檢查代碼、謹慎安裝。安全措施還包括:安全意識、良好習慣、定期更新和殺毒軟件。

See all articles