自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

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

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

 

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

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

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

 

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

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

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

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

 

  1. #!Python  
  2. class Rectangle(Blob):  
  3. def __init__(self,width,height,color='black'
    emphasis=None,highlight=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)方法的定義用單個空行分割,額外的空行可被用于(保守的)分割相關(guān)函數(shù)組成的群,在一組相關(guān)的單句中間可以省略空行。(例如:一組啞元素)。

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

 

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

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

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

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

 

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

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

No:import sys, os

Yes:import sys

import os

但是這樣也是可以的:

from types import StringType, ListType

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

1、標準庫的導(dǎo)入(Imports )

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

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

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

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

from MyClass import MyClass

from foo.bar.YourClass import YourClass

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

import MyClass

import foo.bar.YourClass

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

 

表達式和語句中的空格

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

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

緊貼在逗號,分號或冒號前的,如:

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

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

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

緊貼在索引或切片,開始的開式括號前的,如:

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

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

 

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

 

要始終將它寫成

 

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

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

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

2009-12-28 13:11:35

WPF音頻

2009-12-07 17:21:50

WFC框架

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ù)

2010-02-04 15:58:39

C++淺拷貝

2009-12-31 10:43:48

Silverlight

2010-08-23 16:49:02

DHCP服務(wù)器管理

2010-01-26 13:20:02

Android Act

2010-01-06 17:20:38

.Net Framew

2009-12-03 09:06:41

Visual Stud

2010-01-05 17:33:00

2010-01-08 15:18:51

華為交換機配置手冊

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
點贊
收藏

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