欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python基礎(chǔ)之編碼規(guī)范總結(jié)

 更新時(shí)間:2021年05月24日 08:47:38   作者:florachy  
今天帶大家來(lái)學(xué)習(xí)python基礎(chǔ)知識(shí),文中對(duì)python編碼規(guī)范作了詳細(xì)的介紹,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下

一、PEP 8規(guī)范

官方文檔:https://legacy.python.org/dev/peps/pep-0008/
中文翻譯: http://www.dbjr.com.cn/article/103944.htm

二、縮進(jìn)

每一級(jí)縮進(jìn)4個(gè)空格。

續(xù)行應(yīng)該與包裹元素對(duì)齊,要么使用圓括號(hào),方括號(hào),花括號(hào)內(nèi)的隱式行連接來(lái)垂直對(duì)齊,要么使用掛行縮進(jìn)對(duì)齊。當(dāng)使用掛行縮進(jìn)對(duì)齊時(shí),應(yīng)該考慮到第一行不應(yīng)該有參數(shù),以及使用縮進(jìn)以區(qū)分自己是續(xù)行。

  • 對(duì)齊縮進(jìn)(左右括號(hào)對(duì)齊)
def long_function_name(var_one, var_two,
                       var_three, var_four):
    print(var_one)
  • 懸掛縮進(jìn)
def long_function_name(
       var_one, var_two,
       var_three, var_four):
   print(var_one)
  • 層級(jí)縮進(jìn)
def long_function_name(
      var_one, var_two, var_three,
      var_four):
  print(var_one, var_two, var_three, var_four)

三、行的最大長(zhǎng)度

所有行限制的最大字符數(shù)為79

沒(méi)有結(jié)構(gòu)化限制的大塊文本(文檔字符或者注釋?zhuān)?,每行的最大字符?shù)限制在72。

with open("file1", "r") as f1, \
        open("file2", "r") as f2:
    f2.write(f1.read())

四、空行

頂層函數(shù)和類(lèi)定義,前后用兩個(gè)空行隔開(kāi)。

類(lèi)里面方法定義用一個(gè)空行隔開(kāi)。

class Class01:
    pass


class Class02:
    def function_01(self):
        pass

    def function_02(self):
        pass

五、命名約定

變量命名

  • 永遠(yuǎn)不要使用字母I (小寫(xiě)的L), O (大寫(xiě)的O), I (大寫(xiě)的I)作為單字符的變量名。
  • 在有些字體里面,這些字符無(wú)法與數(shù)字0和1區(qū)分。如果想用I, 可使用L代替。

函數(shù)命名

  • 函數(shù)名應(yīng)該小寫(xiě),如果想提高可讀性可以用下劃線(xiàn)分隔。
  • 大小寫(xiě)混合僅在為了兼容原來(lái)主要以大小寫(xiě)混合風(fēng)格的情況下使用,保持向后兼容。

類(lèi)命名

  •  類(lèi)名一般使用首字母大寫(xiě)的約定。
  • 在接口被文檔化并且主要被用于調(diào)用的情況下,可以使用函數(shù)的命名風(fēng)格代替。
  • 注意:對(duì)于內(nèi)置的變量命名有一個(gè)單獨(dú)的約定:大部分內(nèi)置變量是單個(gè)單詞(或者兩個(gè)單詞連接在一起),首字母大寫(xiě)的命名法只用于異常名或者內(nèi)部的常量。

類(lèi)里面函數(shù)和方法參數(shù)

  • 始終要將self作為實(shí)例方法的第一個(gè)參數(shù)。
  • 始終要將cls作為類(lèi)方法的第一個(gè)參數(shù)。
  • 如果函數(shù)的參數(shù)名和已有關(guān)鍵字沖突,在最后加大意下劃線(xiàn)比縮寫(xiě)或者隨意拼寫(xiě)更好。因此class_比clss更好。

六、字符串引號(hào)

單引號(hào)和雙引號(hào)字符串是相同的。PEP不會(huì)為這個(gè)給出建議。選擇一條規(guī)則并堅(jiān)持使用下去。當(dāng)一個(gè)字符串中包含單引號(hào)或者雙引號(hào)字符串的時(shí)候,使用和最外層不同的符號(hào)來(lái)避免使用反斜杠,從而提高可讀性。

模塊和包導(dǎo)入規(guī)范

  • 命名規(guī)范 模塊名稱(chēng)要短,使用小寫(xiě),并避免使用特殊符號(hào), 比如點(diǎn)和問(wèn)號(hào)
  • 因此請(qǐng)盡量保持模塊名簡(jiǎn)單,以無(wú)需分開(kāi)單詞最佳(不推薦在兩個(gè)單詞之間使用下劃線(xiàn))

模塊導(dǎo)入建議

示例 結(jié)果
from modu import * 差, 不清楚具體從模塊中導(dǎo)入了哪些內(nèi)容
from modu import sqrt 稍好
import modu 最佳 , 調(diào)用的時(shí)候直接使用modu.sqrt能比較清楚的知道當(dāng)前方法屬于哪個(gè)模塊。
import os \n import sys 推薦
import os, sys 不推薦
from subprocess import Popen, PIPE 也可以

__all__變量

  • 如果模塊中存在全局變量__all__, 那么通過(guò)__all__ from xxx import *導(dǎo)入時(shí)也只會(huì)導(dǎo)入__all__中指定的方法和變量,沒(méi)有的話(huà)默認(rèn)全部導(dǎo)入。

七、包

  • 任意包含__init__.py文件的目錄都被認(rèn)為是一個(gè)python包。
  • 因?yàn)閷?dǎo)入包時(shí)會(huì)首先執(zhí)行__init__.py文件
  • 包中__init__.py文件中__all__變量的作用
  • init.py文件中存在全局變量__all__, 通過(guò)from xxx import *導(dǎo)入時(shí)也只會(huì)導(dǎo)入__all__中指定的方法和變量,沒(méi)有的話(huà)默認(rèn)全部導(dǎo)入。

八、注釋

與代碼相矛盾的注釋比沒(méi)有注釋還糟,當(dāng)代碼更改時(shí),優(yōu)先更新對(duì)應(yīng)的注釋?zhuān)?
注釋?xiě)?yīng)該是完整的句子。如果一個(gè)注釋是一個(gè)短語(yǔ)或者句子,它的第一個(gè)單詞應(yīng)該大寫(xiě),除非它是以小寫(xiě)字母開(kāi)頭的標(biāo)識(shí)符(永遠(yuǎn)不要改變標(biāo)識(shí)符的大小寫(xiě)?。?。
如果注釋很短,結(jié)尾的句號(hào)可以省略。塊注釋一般由完整句子的一個(gè)或多個(gè)段落組成,并且每句話(huà)結(jié)束有個(gè)句號(hào)。
在句尾結(jié)束的時(shí)候應(yīng)該使用兩個(gè)空格。
在非英語(yǔ)國(guó)家的python程序員,請(qǐng)使用英文寫(xiě)注釋?zhuān)?20%的確信你的代碼不會(huì)被使用其他語(yǔ)言的人閱讀。

塊注釋

塊注釋通常適用于跟隨它們的某些(或全部)代碼,并縮進(jìn)到與代碼相同的級(jí)別。塊注釋的每一行開(kāi)頭使用一個(gè)#和一個(gè)空格(除非塊注釋內(nèi)部縮進(jìn)文本)。

塊注釋內(nèi)部的段落通常只有一個(gè)#的空行分隔。

行內(nèi)注釋

有節(jié)制地使用行內(nèi)注釋

行內(nèi)注釋是與代碼語(yǔ)句同行的注釋。行內(nèi)注釋和代碼至少要有兩個(gè)空格分隔。注釋由#和一個(gè)空格開(kāi)始。

文檔注釋

要為所有的公共模塊,函數(shù),類(lèi)和方法編寫(xiě)文檔說(shuō)明。

非公共的方法沒(méi)有必要,但是應(yīng)該有一個(gè)描述方法具體作用的注釋。這個(gè)注釋?xiě)?yīng)該在def那一行之后。

PEP257描述了寫(xiě)出好的文檔注釋的相關(guān)約定。特別需要注意的是:多行文檔注釋使用的結(jié)尾三引號(hào)應(yīng)該是自成一行,例如:

"""這是注釋
注釋的具體內(nèi)筒
"""
 對(duì)于單行的文檔說(shuō)明,尾部的三引號(hào)應(yīng)該和文檔在同一行。

到此這篇關(guān)于python基礎(chǔ)之編碼規(guī)范總結(jié)的文章就介紹到這了,更多相關(guān)python編碼規(guī)范內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python配置grpc環(huán)境

    python配置grpc環(huán)境

    gRPC 是一款高性能、開(kāi)源的 RPC 框架,產(chǎn)自 Google,基于 ProtoBuf 序列化協(xié)議進(jìn)行開(kāi)發(fā),支持多種語(yǔ)言(Golang、Python、Java等),本篇只介紹 Python 的 gRPC 安裝使用
    2019-01-01
  • 使用Python自動(dòng)化自定義字體混淆信息的方法實(shí)例

    使用Python自動(dòng)化自定義字體混淆信息的方法實(shí)例

    今天小編就為大家分享一篇關(guān)于使用Python自動(dòng)化自定義字體混淆信息的方法實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • django使用channels實(shí)現(xiàn)通信的示例

    django使用channels實(shí)現(xiàn)通信的示例

    這篇文章主要介紹了django使用channels實(shí)現(xiàn)通信的示例,幫助大家更好的理解和學(xué)習(xí)django框架,感興趣的朋友可以了解下
    2020-10-10
  • virtualenv實(shí)現(xiàn)多個(gè)版本Python共存

    virtualenv實(shí)現(xiàn)多個(gè)版本Python共存

    virtualenv用于創(chuàng)建獨(dú)立的Python環(huán)境,多個(gè)Python相互獨(dú)立,互不影響,它能夠:1. 在沒(méi)有權(quán)限的情況下安裝新套件 2. 不同應(yīng)用可以使用不同的套件版本 3. 套件升級(jí)不影響其他應(yīng)用
    2017-08-08
  • 如何使用?Python?Pandas?更新行和列

    如何使用?Python?Pandas?更新行和列

    這篇文章主要介紹了使用?Python?Pandas?更新行和列的方法,在整篇文章中,我們將使用我們現(xiàn)在要?jiǎng)?chuàng)建的數(shù)據(jù)框,這將使大家了解更新數(shù)據(jù)操作,在此之后,大家可以將這些方法應(yīng)用于自己的數(shù)據(jù),需要的朋友可以參考下
    2023-03-03
  • Python實(shí)現(xiàn)圖的廣度和深度優(yōu)先路徑搜索算法

    Python實(shí)現(xiàn)圖的廣度和深度優(yōu)先路徑搜索算法

    圖是一種抽象數(shù)據(jù)結(jié)構(gòu),本質(zhì)和樹(shù)結(jié)構(gòu)是一樣的。圖與樹(shù)相比較,圖具有封閉性,可以把樹(shù)結(jié)構(gòu)看成是圖結(jié)構(gòu)的前生。本文將利用Python實(shí)現(xiàn)圖的廣度和深度優(yōu)先路徑搜索算法,感興趣的可以學(xué)習(xí)一下
    2022-04-04
  • Python 列表排序詳解

    Python 列表排序詳解

    這篇文章主要介紹了Python中對(duì)列表排序?qū)嵗?本文給出了9個(gè)List的排序?qū)嵗?需要的朋友可以參考下,希望能夠給你帶來(lái)幫助
    2021-10-10
  • 舉例講解Python的lambda語(yǔ)句聲明匿名函數(shù)的用法

    舉例講解Python的lambda語(yǔ)句聲明匿名函數(shù)的用法

    匿名函數(shù)現(xiàn)在已經(jīng)成了各大編程語(yǔ)言爭(zhēng)相標(biāo)配的熱門(mén)特性,無(wú)需用函數(shù)名來(lái)定義函數(shù)的方式在很多場(chǎng)合下書(shū)寫(xiě)起來(lái)十分炫酷,這里我們就來(lái)舉例講解Python的lambda語(yǔ)句聲明匿名函數(shù)的用法
    2016-07-07
  • python 使用opencv 把視頻分割成圖片示例

    python 使用opencv 把視頻分割成圖片示例

    今天小編就為大家分享一篇python 使用opencv 把視頻分割成圖片示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • python?教程之blinker?信號(hào)庫(kù)

    python?教程之blinker?信號(hào)庫(kù)

    這篇文章主要介紹了python?教程之blinker?信號(hào)庫(kù),文章基于python的相關(guān)資料展開(kāi)詳細(xì)的內(nèi)容說(shuō)明。具有一定的參考價(jià)價(jià)值,需要的小伙伴可以參考一下
    2022-05-05

最新評(píng)論