偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Python編程規(guī)范具體內(nèi)容解析

開發(fā) 后端
Python編程規(guī)范的學(xué)習(xí)與掌握對(duì)于初學(xué)者來(lái)說(shuō)是非常重要的一個(gè)應(yīng)用技術(shù)。我們今天將會(huì)在這里通過(guò)各個(gè)方面對(duì)這一內(nèi)容作詳細(xì)介紹。

我們?cè)趯W(xué)習(xí)Python編程語(yǔ)言之前,首先要了解的就是這一編程語(yǔ)言的一些主要的編碼規(guī)范。我們今天就為大家詳細(xì)介紹一下Python編程規(guī)范的相關(guān)內(nèi)容,希望大家可以從中獲得一些幫助,以方便將來(lái)的學(xué)習(xí)應(yīng)用。#t#

Python編程規(guī)范之縮進(jìn)

使用Emacs的Python-mode的默認(rèn)值:4個(gè)空格一個(gè)縮進(jìn)層次。對(duì)于確實(shí)古老的代碼,你不希望產(chǎn)生混亂,可以繼續(xù)使用8空格的制表符(8-space tabs)。Emacs Python-mode自動(dòng)發(fā)現(xiàn)文件中主要的縮進(jìn)層次,依此設(shè)定縮進(jìn)參數(shù)。

 

Python編程規(guī)范之制表符還是空格

永遠(yuǎn)不要混用制表符和空格。最流行的Python縮進(jìn)方式是僅使用空格,其次是僅使用制表符,混合著制表符和空格縮進(jìn)的代碼將被轉(zhuǎn)換成僅使用空格。(在Emacs中,選中整個(gè)緩沖區(qū),按ESC-x去除制表符。)調(diào)用Python命令行解釋器時(shí)使用-t選項(xiàng),可對(duì)代碼中不合法得混合制表符和空格發(fā)出警告,使用-tt時(shí)警告將變成錯(cuò)誤。這些選項(xiàng)是被高度推薦的。

對(duì)于新的項(xiàng)目,強(qiáng)烈推薦僅使用空格而不是制表符。許多編輯器擁有使之易于實(shí)現(xiàn)的功能(在Emacs中,確認(rèn)indent-tabs-mode是nil)。

 

Python編程規(guī)范之行的最大長(zhǎng)度

周圍仍然有許多設(shè)備被限制在每行80字符:而且,窗口限制在80個(gè)字符。使將多個(gè)窗口并排放置成為可能。在這些設(shè)備上使用默認(rèn)的折疊方式看起來(lái)有點(diǎn)丑陋。因此,請(qǐng)將所有行限制在最大79字符(Emacs準(zhǔn)確得將行限制為長(zhǎng)80字符),對(duì)順序排放的大塊文本(文檔字符串或注釋),推薦將長(zhǎng)度限制在72字符。

折疊長(zhǎng)行的首選方法是使用Pyhon支持的圓括號(hào),方括號(hào)和花括號(hào)內(nèi)的行延續(xù)。如果需要,你可以在表達(dá)式周圍增加一對(duì)額外的圓括號(hào),但是有時(shí)使用反斜杠看起來(lái)更好,確認(rèn)恰當(dāng)?shù)每s進(jìn)了延續(xù)的行。

Emacs的Python-mode正確得完成了這些。一些例子:

 

  1. #!Python  
  2. class Rectangle(Blob):  
  3. def __init__(self,width,height,color='black',
    emphasis=Nonehighlight=0):  
  4. if width == 0 and height == 0 and \  
  5. color == 'red' and emphasis == 'strong' or \  
  6. highlight > 100:  
  7. raise ValueError, "sorry, you lose"  
  8. if width == 0 and height == 0 and (color == 'red' or  
  9. emphasis is None):  
  10. raise ValueError,"I don't think so"  
  11. Blob.__init__(self,width,height,color,emphasis,highlight) 

 

 

Python編程規(guī)范之空行

用兩行空行分割頂層函數(shù)和類的定義,類內(nèi)方法的定義用單個(gè)空行分割,額外的空行可被用于(保守的)分割相關(guān)函數(shù)組成的群,在一組相關(guān)的單句中間可以省略空行。(例如:一組啞元素)。

當(dāng)空行用于分割方法的定義時(shí),在‘class’行和第一個(gè)方法定義之間也要有一個(gè)空行。在函數(shù)中使用空行時(shí),請(qǐng)謹(jǐn)慎的用于表示一個(gè)邏輯段落。Python接受contol-L(即^L)換頁(yè)符作為空格:Emacs(和一些打印工具),視這個(gè)字符為頁(yè)面分割符,因此在你的文件中,可以用他們來(lái)為相關(guān)片段分頁(yè)。

 

Python編程規(guī)范之編碼

Python核心發(fā)布中的代碼必須始終使用ASCII或Latin-1編碼(又名 ISO-8859-1),使用ASCII的文件不必有編碼cookie,Latin-1僅當(dāng)注釋或文檔字符串涉及作者名字需要Latin-1時(shí)才被使用:

另外使用\x轉(zhuǎn)義字符是在字符串中包含非ASCII(non-ASCII)數(shù)據(jù)的首選方法。

作為PEP 263實(shí)現(xiàn)代碼的測(cè)試套件的部分文件是個(gè)例外。

 

Python編程規(guī)范之導(dǎo)入

通常應(yīng)該在單獨(dú)的行中導(dǎo)入(Imports),例如:

No:import sys, os

Yes:import sys

import os

但是這樣也是可以的:

from types import StringType, ListType

Imports 通常被放置在文件的頂部,僅在模塊注釋和文檔字符串之后,在模塊的全局變量和常量之前。Imports應(yīng)該有順序地成組安放:

1、標(biāo)準(zhǔn)庫(kù)的導(dǎo)入(Imports )

2、相關(guān)的主包(major package)的導(dǎo)入(即,所有的email包在隨后導(dǎo)入)

3、特定應(yīng)用的導(dǎo)入(imports)

你應(yīng)該在每組導(dǎo)入之間放置一個(gè)空行,對(duì)于內(nèi)部包的導(dǎo)入是不推薦使用相對(duì)導(dǎo)入的,對(duì)所有導(dǎo)入都要使用包的絕對(duì)路徑。

從一個(gè)包含類的模塊中導(dǎo)入類時(shí),通??梢詫懗蛇@樣:

from MyClass import MyClass

from foo.bar.YourClass import YourClass

如果這樣寫導(dǎo)致了本地名字沖突,那么就這樣寫

import MyClass

import foo.bar.YourClass

即使用"MyClass.MyClass"和"foo.bar.YourClass.YourClass"

 

表達(dá)式和語(yǔ)句中的空格

Guido不喜歡在以下地方出現(xiàn)空格:

緊挨著圓括號(hào),方括號(hào)和花括號(hào)的,如:"spam( ham[ 1 ],{ eggs:2 } )"。要始終將它寫成"spam(ham[1],{eggs: 2})"。

緊貼在逗號(hào),分號(hào)或冒號(hào)前的,如:

"if x == 4:print x,y:x,y = y,x"。要始終將它寫成

"if x == 4:print x,y:x,y = y,x"。

緊貼著函數(shù)調(diào)用的參數(shù)列表前開式括號(hào)(open parenthesis )的,如"spam (1)"。要始終將它寫成"spam(1)"。

緊貼在索引或切片,開始的開式括號(hào)前的,如:

"dict ['key'] = list [index]"。要始終將它寫成"dict['key'] = list[index]"。

在賦值(或其它)運(yùn)算符周圍的用于和其它并排的一個(gè)以上的空格,如:

 

  1. #!Python  
  2. x1 
  3. y2 
  4. long_variable = 3 

 

要始終將它寫成

 

  1. #!Python  
  2. x = 1 
  3. y = 2 
  4. long_variable = 3 

以上就是對(duì)Python編程規(guī)范的相關(guān)內(nèi)容的介紹。

責(zé)任編輯:曹凱 來(lái)源: 博客園
相關(guān)推薦

2009-12-07 17:21:50

WFC框架

2009-12-28 13:11:35

WPF音頻

2010-02-24 15:18:51

Python社區(qū)

2010-04-23 16:39:18

Oracle權(quán)限

2010-09-25 13:14:48

配置DHCP服務(wù)

2009-12-31 10:43:48

Silverlight

2010-02-04 15:58:39

C++淺拷貝

2010-01-06 17:20:38

.Net Framew

2010-08-23 16:49:02

DHCP服務(wù)器管理

2010-01-26 13:20:02

Android Act

2009-12-03 09:06:41

Visual Stud

2010-01-05 17:33:00

2010-01-08 15:18:51

華為交換機(jī)配置手冊(cè)

2022-03-08 23:19:51

大數(shù)據(jù)隱私工信部

2010-07-12 11:58:02

Java UDP協(xié)議

2010-07-12 09:48:50

HART協(xié)議

2011-09-09 19:23:52

Widget

2011-09-09 19:39:57

GTK Widget

2010-08-04 16:55:16

NFS服務(wù)

2011-09-08 14:21:37

jQueryWidget
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)