操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    腳本之家

    你與百萬開發者在一起

    來源 | 異步

    最新最好的參考手冊之一,就是自帶的文檔。有鑒于此,與其把文檔頁面編輯一下再打印出來,還不如探究一下如何用好官方文檔更加有用。

    標準的文檔包分成若干部分,包括在各個平臺上的文檔編寫、分發、安裝和擴展說明。只要是有關的問題,這些文檔都是尋求答案的邏輯起點。文檔最主要的兩個內容,可能也是最有用的部分,就是庫參考手冊和語言參考手冊。

    庫參考手冊是絕對必要的,因為它對內置數據類型和所有內置模塊都做了解釋。語言參考手冊解釋了內核的工作方式,包括語言內核的官方術語,解釋了數據類型、語句等的工作機制。“新特性”部分也值得一讀,特別是在發布新版的時候,因為這里對新版本的所有改動都做了匯總介紹。

    A.1訪問Web端的文檔對很多人而言,訪問文檔最方便的途徑就是訪問官方網站并瀏覽其中的文檔。雖然這樣需要連入Web,但優點就是內容始終是最新的。對很多項目而言,通過Web檢索其他文檔和信息是常用操作,因此始終在瀏覽器的一個標簽頁中打開并指向在線文檔,就是將參考文檔常備手邊的簡單方案。A.1.1瀏覽機器上的文檔的很多發行版本都默認包含了完整的文檔。在某些Linux發行版本中,文檔是獨立的包,需要單獨安裝。不過在大多數情況下,安裝完成后計算機中就已包含完整文檔了,訪問起來也很容易。1.在交互式shell或命令行中訪問聯機幫助信息在交互式命令解釋器中如何用help命令訪問模塊或對象的聯機幫助信息:

    1. >>> help(int)

    2. Help on intobject:

    3. classint(object)

    4. |int(x[,base])-> integer

    5. |

    6. |Convert a stringor number to an integer,if possible. A floating

    7. | point argument will be truncated towards zero (this does not include a

    8. |string representation of a floating point number!)When converting a

    9. |string,use the optional base.Itis an error to supply a basewhen

    10. | converting a non-string.

    11. |

    12. |Methodsdefined here:

    13. ...(后面是int對象的方法列表)

    以上其實是解釋器調用pydoc模塊生成文檔的過程。用pydoc模塊還可以在命令行搜索文檔。在Linux或macOS系統中,如果要在終端窗口中得到同樣的輸出,只需在提示符下鍵入pydoc int即可,鍵入q則可以退出。在命令窗口中,除非已在搜索路徑中包含了庫所在目錄,否則就需要鍵入完整路徑,其中是指的用戶名。2.用pydoc創建HTML格式的幫助頁面如果希望更加順暢地查看pydoc為對象或模塊生成的文檔,可以將輸出寫入HTML文件,這樣就可以在任何瀏覽器中進行瀏覽了。為此,請將-w選項添加到pydoc命令中,在系統中將是C: .py–w int。這時就會查找int對象的文檔,pydoc會在當前目錄中創建一個名為int.html的文件,可以打開并在瀏覽器中進行查看。圖A-1顯示了int.html在瀏覽器中的樣子。

    圖A-1由pydoc創建的int.html

    如果由于某種原因只需要數量有限的幾頁文檔,那么這種方案就足夠用了。但大多數情況下,最好還是用pydoc提供更完整的文檔,下一節將會介紹。

    3.將pydoc用作文檔服務器

    除了能為任何對象生成文本文檔和HTML文檔,pydoc模塊還可以被當作服務器來使用,以便提供基于Web的文檔服務。運行pydoc時可以帶上-p和端口號參數,即可在該端口上開啟文檔服務。然后就可以輸入”b“命令,打開瀏覽器并訪問所有可用模塊的文檔,如圖A-2所示。

    圖A-2由pydoc文檔服務提供的模塊文檔(部分)

    用pydoc提供文檔服務有一個好處,就是它還會掃描當前目錄,在找到的模塊中由文檔字符串提取出文檔信息,即便模塊不屬于標準庫也沒關系。這樣要訪問任何模塊的文檔時,就比較有用了。但有一點必須說明,為了能從模塊中提取文檔,pydoc必須要導入模塊,這意味著它會執行模塊頂層的所有代碼。因此,對導入會帶來副作用的代碼(如第11章所述)也會被執行,因此使用此項功能時務必小心。

    4.幫助文件的使用

    在系統上, 3標準軟件包中包含了完整的幫助文件格式的文檔。在的安裝文件夾內的Doc文件夾中可以找到這些文件,通常位于“程序”菜單的“ 3”程序組中。打開主文件時,如圖A-3所示。

    圖A-3如果習慣使用幫助文件,則該文件就是所需的全部文檔

    A.1.2文檔的下載

    如果想在計算機上查看文檔,但不一定或不需要運行,也可以從官方網站下載PDF、HTML或文本格式的完整文檔。如果需要能在電子書閱讀器之類的設備上訪問文檔,這樣就很方便。

    A.2最佳實踐:如何成為

    每種編程語言都有自己的傳統和文化,就是一個很好的例子。最有經驗的程序員,有時被稱為高手(),非常關心編碼風格,應該符合的風格和最佳實踐。此類代碼常被稱作式風格的代碼,相對Java、C或風格的代碼,更加受到尊重。

    新手面臨的問題,就是該如何學習編寫式風格的代碼。了解語言及其風格需要花一些時間和努力,本附錄接下來將對如何開始提供一些建議。

    成為高手的10條技巧

    本節列出的技巧是針對中級人員的,也是對提升技能給出的建議。不一定要求每個人都要完全認可,但根據我多年來的觀察,這些技巧將讓你踏上成為真正高手的正途。

    A.3PEP 8——編碼風格指南

    本節收錄了稍作剪輯的PEP 8摘要( ,增強提案)。PEP 8由Guido van 和Barry 撰寫,是的最接近編程風格手冊的東西。這里省略了一些比較具體的部分,但主要內容都已包括。應該盡可能讓代碼遵守PEP 8規范,代碼會由此更具風格。

    訪問官方網站的文檔部分并搜索PEP,就可以獲得PEP 8全文及歷史上發布的所有其他PEP。PEP既是歷史和經驗的絕佳來源,也是當前議題和將來計劃的解釋。

    A.3.1簡介

    本文檔給出的編碼約定,適用于由主發行版本中的標準庫構成的代碼。有關的C實現中的C代碼風格指南,參見相應的PEP[1]。本文檔改編自Guido最初的風格指南文章,并加入了Barry風格指南的一些內容。如果與Guido的風格規則存在沖突,應該遵從本PEP。本PEP可能尚未完結(其實可能永遠不會完結)。

    盲目的一致性是頭腦簡單的表現

    Guido的一個重要觀點是,代碼被閱讀的次數遠多于被編寫的次數。本指南旨在提高代碼的可讀性,使各種各樣的代碼能保持風格一致。正如PEP 20[2]所述,“ ”(注重可讀性)。

    風格指南是討論一致性的。與風格指南保持一致很重要。維持同一個項目內部的一致性更加重要。而保證同一個模塊和函數內部的一致性則最重要。

    然而最最重要的是,知道何時應打破一致性,有時風格指南并不適用。如果心存疑慮,請采用自己的最佳判斷。請看看別人的例子并做出最佳決定。不要猶豫,盡管發出疑問。

    以下是兩個打破規范的好理由。

    A.3.2代碼布局1.縮進

    每級縮進采用4個空格。

    為了對付那些確實陳舊的代碼,又不愿做出清理,那么可以繼續沿用8個空格長度的制表符。

    2.制表符還是空格

    絕對禁止制表符和空格的混用。

    最流行的縮進方式是只使用空格。第二流行的方式是只使用制表符。混合使用制表符和空格進行縮進的代碼,應該轉換為只使用空格的方式。如果調用命令行解釋器時帶上-t參數,它就會對非法混用制表符和空格的代碼發出警告。如果用了-tt參數,這些警告就會上升為錯誤。強烈推薦使用這些參數!

    對全新的項目而言,強烈建議只用空格縮進,換掉所有的制表符。大部分編輯器都具備將制表符替換為空格的便捷功能。

    3.最大行長

    所有行都應限制在79個字符以內。

    將行長限制在80個字符的設備還有很多最好用的字符終端工具,而且將窗口限制為80個字符寬就可以并排放置多個窗口。這些設備上的默認換行會破壞代碼的外觀,增加理解的難度。因此,請將所有行都限制在79個字符以內。對于連續的大段文字(文檔字符串或注釋),建議將行長限制在72個字符以內。

    對長行進行換行的首選方案,是利用隱含的行連接特性,在圓括號、方括號和大括號內部進行斷行。必要時可以在表達式外面多加一對圓括號,不過有時候用反斜杠會更好看些。請確保對后續行進行適當的縮進。打斷二元運算符的首選位置是在運算符之后,而不是運算符之前。下面給出一些例子:

    1. classRectangle(Blob):

    2. def __init__(self, width, height,

    3. color='black', emphasis=None, highlight=0):

    4. if(width ==0and height ==0and

    5. color =='red'and emphasis =='strong'or

    6. highlight >100):

    7. raiseValueError("sorry, you lose")

    8. if width ==0and height ==0and(color =='red'or

    9. emphasis isNone):

    10. raiseValueError("I don't think so -- values are %s, %s"%

    11. (width, height))

    12. Blob.__init__(self, width, height,

    13. color, emphasis, highlight)

    4.空行頂級函數和類定義之間,請用兩個空行分隔。類內部的各個方法定義之間,請用1個空行分隔。為了讓有關聯的函數成組,可以在各函數組之間有節制地添加空行。相互關聯的一組單行函數之間,可以省略空行,如一組函數的偽實現(dummy )。函數內部可以有節制地用空行來區分出各個邏輯部分。可將Ctrl+L(^L)換頁符接受為空白符。很多工具都將其視為分頁符,所以可以利用其進行分頁,使得文件中的關聯部分單獨成頁。5.導入導入語句通常應單獨成行,例如:

    1. import os

    2. import sys

    不要像下面這樣寫在一起:

    1. import sys, os

    不過下面的寫法沒有問題:

    1. from subprocess importPopen, PIPE

    導入語句通常位于文件的頂部,緊挨著模塊注釋和文檔字符串后面,在模塊全局變量和常量定義之前。

    導入語句應按照以下順序進行分組。

    (1)標準庫的導入。

    (2)相關第三方庫的導入。

    (3)本地應用程序/庫——特定庫的導入。

    每組導入語句之間請加入1個空行。

    任何對應的聲明都應位于導入語句之后。

    非常不推薦對內部包的導入使用相對導入語法。請始終對所有導入都使用絕對包路徑。即便 2.5現在已完全實現了PEP 328[3],它的顯式相對導入語法也是強烈不推薦的。絕對導入的可移植性更好,通常可讀性也會更好。

    {:—}如果是從包含類的模塊中導入類,通常可以采用如下寫法:

    1. from myclass importMyClass

    2. from foo.bar.yourclass importYourClass

    如果上述寫法會導致本地命名沖突,就采用如下寫法:

    1. import myclass

    2. import foo.bar.yourclass

    然后用.和foo.bar..表示類。

    6.表達式和語句內的空白符

    討厭之事——以下場合應避免使用多余的空白符。

    x =1y = =3

    錯誤:

    7.其他建議始終在以下二元操作符兩側各放1個空格:賦值(=)、增量賦值(+=,-=等)、比較(==、、!=、、=、in、not、in、is、is not)、布爾(and、or、not)。在數學運算符兩側放置空格。

    正確:

    i = i +1

    +=1

    x = x *2–1

    = x * x + y * y

    c =(a + b)*(a - b)

    錯誤:

    i=i+1

    +=1

    x = x*2–1

    = x*x + y*y

    c =(a+b)*(a-b)

    在用于指定關鍵字參數或默認參數值時,請勿在=兩邊使用空格。

    A.4注釋

    與代碼不符的注釋還不如不加注釋。只要代碼發生變化,就一定要優先保證更新注釋!

    注釋應該是完整的句子。如果注釋是短語或句子,其首個單詞應該大寫,除非首個單詞是以小寫字母開頭的標識符,永遠不要改變標識符的大小寫!。

    如果注釋很短,尾部的句點則可以省略。塊注釋通常由一個或多個段落組成,每個段落都由多個完整句子構成,每個句子都以一個句點結尾。

    在句子末尾的句點后面,應該加上兩個空格。[4]

    用英語撰寫注釋時,請采用和White編寫的書寫規范[5]。

    非英語國家的程序員,請用英語撰寫注釋,除非120%確定代碼一定不會被用其他語言的人閱讀。

    1.塊注釋

    塊注釋通常用于緊隨其后的一些(或全部)代碼,并且縮進級別與代碼相同。每一行塊注釋都以一個“#”和一個空格開頭,注釋內部的縮進文字除外。

    塊注釋內部的段落,由只包含一個“#”的空行分隔。

    2.行內注釋

    請有節制地使用行內注釋。

    行內注釋是指與代碼語句處于同一行的注釋。行內注釋和代碼之間至少要隔開兩個空格,應該由一個“#”和一個空格開頭。

    事實上,如果狀況很明了的話,是不需要用到行內注釋的。例如,以下情況就不需要:

    1. x = x +1# Increment x

    {:—}但有些時候,行內注釋還是有用的:

    1. x = x +1# Compensate for border

    3.文檔字符串

    如何撰寫良好的文檔字符串(也叫),其規范在PEP 257中已名垂青史。

    請為所有的公有模塊、函數、類和方法撰寫文檔字符串。非公有的方法不一定需要文檔字符串,但是應該帶有描述方法用途的注釋。該注釋應該位于def行后面。

    PEP 257描述了良好文檔字符串的規范。請注意,有一點是最重要的,多行文檔字符串結尾的““”””應該自成一行,并且最好是在前面加一行空行。例如:

    1. """Return a foobang

    2. Optional plotz says to frobnicate the bizbaz first.

    3. """

    對單行的文檔字符串而言,可以讓結尾的““”””位于同一行。

    本文截選自《 快速入門》(第3版)最好用的字符終端工具,[美] 娜奧米·塞德(Naomi Ceder) 著,戴旭 譯

    本書是專業人士Naomi Ceder編寫的語言的綜合指南。她是一位經驗豐富的教學者,她既能讓讀者關注語言的細節,又能使其具備解決實際問題的能力。本書中配有大量貼切的示例和邊做邊學的習題,有助于讀者掌握每一個重要概念。無論讀者是要抓取網站內容還是想玩轉嵌套元組,都會贊嘆本書的清晰、專注和對細節的重視。

    本書主要內容

    ● 明確涵蓋 3。

    ● 全面介紹核心庫、包和工具。

    ● 配備精深的習題。

    ● 新增5章與數據科學相關的內容。

    本書專為熟悉編程概念的讀者編寫,但不要求讀者具備的使用經驗。

    -END-

    更多精彩

    在公眾號后臺對話框輸入以下關鍵詞

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有