Python補充06 Python之道

Python補充06 Python之道

作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝!

?

Python有一個彩蛋,用下面語句調出:

import this

該彩蛋的文檔記錄于PEP 20。

語句執行之后,終端將顯示一首"The Zen of Python"的詩,即“Python之道”。這首詩總結了Python的風格,可以指導Python程序員的編程。Python程序員會自豪宣稱自己"Pythonic"。Pythonic的一個基本標準,是寫出合乎“Python之道”的代碼

?

下面是“Python之道”的全文,以及我附加的翻譯。

The Zen of Python, by Tim Peters

Python之道

Beautiful is better than ugly.

美觀勝于丑陋。

Explicit is better than implicit.

顯示勝于隱式。

Simple is better than complex.

簡單勝于復雜。

Complex is better than complicated.

復雜勝于過度復雜。

Flat is better than nested.

平面勝于嵌套。

Sparse is better than dense.

稀少勝于稠密。

Readability counts.

可讀性需要考慮。

Special cases aren't special enough to break the rules.

即使情況特殊,也不應打破原則,

Although practicality beats purity.

盡管實用勝于純凈。

Errors should never pass silently.

錯誤不應悄無聲息的通過,

Unless explicitly silenced.

除非特意這么做。

In the face of ambiguity, refuse the temptation to guess.

當有混淆時,拒絕猜測(深入的搞明白問題)。

There should be one-- and preferably only one --obvious way to do it.

總有一個,且(理想情況下)只有一個,明顯的方法來處理問題。

Although that way may not be obvious at first unless you're Dutch.

盡管那個方法可能并不明顯,除非你是荷蘭人。(Python的作者Guido是荷蘭人,這是在致敬)

Now is better than never.

現在開始勝過永遠不開始,

Although never is often better than *right* now.

盡管永遠不開始經常比倉促立即開始好。

If the implementation is hard to explain, it's a bad idea.

如果程序實現很難解釋,那么它是個壞主意。

If the implementation is easy to explain, it may be a good idea.

如果程序實現很容易解釋,那么它可能是個好主意。

Namespaces are one honking great idea -- let's do more of those!

命名空間是個絕好的主意,讓我們多利用它。

?

"Python之道"強調美觀、簡單、可讀和實用,拒絕復雜或模糊。

?

歷史

Tim Peters于June 4, 1999的Python郵件列表,以"The Python Way"為標題,發表了“Python之道”,得到許多Python程序員的認同。另一方面,2001年的International Python Conference #10 (IPC10, IPC是PyCon的前身)會議,主辦方希望在文化衫上印標語,而這一標語要能代表Python文化。到會的Python程序員們創作了500多條。組織者選了"import this"。后來,Python的作者Guido增加了this.py模塊,讓這個語句可以在解釋器中執行,打印“Python之道”。

Python社區很幽默。

?

此外,PyCon是Python愛好者的集會,可以去給別人展示自己的Python項目,或者聽講座。2012年的PyCon是在北京和上海同時舉行。

?

參考文章

?

轉載于:https://www.cnblogs.com/ching2009/p/5074826.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375235.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375235.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375235.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

傳送指令 MOV

MOV dest,src ;dest <-- srcMOV指令把一個字節或字從源地址src送入目的地址destsrc源操作數可以是立即數,寄存器,段寄存器,存儲單元MOV AX,10 ;MOV 寄存器,數據 eg-1MOV AX,BX ; MOV 寄存器,寄存器 eg-2MOV AX,[0] ;MOV 寄存器,內存單元 eg-3MOV [0],AX ;MOV 內存單元…

四舍五入函數

四舍五入函數 Math.Round()posted on 2015-12-25 15:58 低音炮可怕男子 閱讀(...) 評論(...) 編輯 收藏 轉載于:https://www.cnblogs.com/DreamTime/p/5076201.html

串傳送指令MOVSB MOVSW

MOVSB(move string byte)ES:DI <-- DS:SI 把ds:si所指地址內存單元中的數據送到es:di所指向的內存單元中,源地址數據保持不變,si和di指向下一個要傳送的數據傳送的次數(字符串長度)保存在CX寄存器中并用cld/std說明si和di是遞增還是遞減,最后用REP指令重復執行MOVSB直到cx0終…

file_get_content和curl的性能比較

今天在獲取微信一張二維碼圖片時發現使用php中的file_get_content方式和curl方式竟然相差了50倍左右&#xff0c;直接暈倒&#xff01;&#xff01;&#xff01; 轉載于:https://www.cnblogs.com/jenqz/p/5077996.html

分段機制

根據編程需要可將地址連續的內存單元看作是一個段段地址*16來定位段的起始地址偏移地址來定位這個段中的各個單元一個段的大小最大為64K,因為偏移地址是16位,16位的尋址能力為64KDS:[BX] 0C8C:0000; 段地址為0C8CH; 偏移地址0H&#xff5e;FFFFH 大小為64K0C8C:FFFF一般匯編源…

java定時器的使用(Timer)

java定時器的使用&#xff08;Timer&#xff09;1、在應用開發中&#xff0c;常常須要一些周期性的操作&#xff0c;比方每5分鐘運行某一操作等。對于這種操作最方便、高效的實現方式就是使用java.util.Timer工具類。private java.util.Timer timer;timer new Timer(true);tim…

nginx 配置優化詳解

# nginx不同于apache服務器&#xff0c;當進行了大量優化設置后會魔術般的明顯性能提升效果 # nginx在安裝完成后&#xff0c;大部分參數就已經是最優化了&#xff0c;我們需要管理的東西并不多#user nobody;#阻塞和非阻塞網絡模型&#xff1a; #同步阻塞模型&#xff0c;一請…

標號 變量

標號&#xff1a;標記了指令,數據,段的起始地址data segment str db ‘hello’data endscode segment start: jmp begin begin: mov ax,datacode ends end startstr標號(數據標號通常又叫變量),表示內存單元地址和長度start,begin標號表示了指令mov ax,data的地址data ,code標號…

ASP.NET知識集

ASP.NET知識集 編輯刪除轉載2015-06-23 16:31:55標簽&#xff1a;it//刪除指定行數據時&#xff0c;彈出詢問對話框 ((LinkButton)(e.Row.Cell[7].Controls[0]).Attributes.Add("onclick","return confirm(是否刪除當前數據&#xff01;)"); //注登錄&…

操作符offset和seg

offset獲得標號的偏移地址seg獲得標號的段地址mov ax,offset beginjmp axmov ds,axbegin: add ax,bx-u0CA0:0000 B80700 MOV AX,0007 ;編譯器已經把標號變成add ax,bx處的地址了0CA0:0003 FFE0 JMP AX0CA0:0005 8ED8 MOV DS,AX0CA0:0007 …

數制學習筆記

數制的基本概念 一.數碼 數制中表示基本數值大小的不同數字符號。例如&#xff0c;十進制有10個數碼&#xff1a;0、1、2、3、4、5、6、7、8、9。二.基數 數制所使用數碼的個數。例如&#xff0c;二進制的基數為2&#xff1b;十進制的基數為10。三.位權 數制中某一位上的1所表示…

數據結構問題集錦 - Find Median from Data Stream

臨近期末&#xff0c;鴨梨山大啊&#xff0c;就不多說了。這道題的要求就是&#xff0c;給定一串輸入&#xff0c;在中間任何一個時候&#xff0c;都能夠求出添加到一半的序列的中位數。 大概考慮一下&#xff0c;如果用動態數組來進行元素插入的話&#xff0c;盡管這樣查詢中位…

所處理的數據在什么地方 有多長 如何定義 如何尋找

處理的數據在什么地方&#xff1a; 立即數(idata)1,3,10,3F 寄存器AX,AL,BX 內存單元,可用尋址方式給出DS:[idata],ds:[0]處理的數據有多長: MOV AX,1 ;字操作 MOV AL,1 ;字節操作 MOV BYTE PTR DS:[0],1 ;字節操作 MOV WORD PTR DS:[0],1 ;字操作 PUSH/POP 進行的是字操作 數據…

invoke偽指令

通過反匯編helloworld對話框來看invoke偽指令 invoke是調用WinAPI的偽指令 把上一個helloworld對話框編譯并連接成hello.exe然后用OD打開得到下圖 前文說過ML.EXE編譯invoke時會把invoke的參數PUSH入棧和一個CALL,在代碼段中只有兩個invoke指令 invoke MessageBox,NULL,offset …

Azure Virtual Network, 虛擬網絡

云上的虛擬網絡把不同用戶完全的隔離開來。同時可以自己對虛擬網絡進行定制&#xff0c;設置各種安全訪問策略&#xff0c;配置load balancer等等。 在新的基于Azure Resource Manager (ARM)的部署方式中&#xff0c;虛擬網絡已經是默認設置了。也就是說在通過ARM部署的VM&…

百度地圖API的第一次接觸——自定義控件

1.定義一個控件類&#xff0c;即function function ZoomControl(){ // 設置默認停靠位置和偏移量 this.defaultAnchor BMAP_ANCHOR_TOP_LEFT; this.defaultOffset new BMap.Size(10, 10); } 2.通過JavaScript的prototype屬性繼承于BMap.Control ZoomControl.pr…

include語句

程序用到MessageBox和ExitProcess函數它們分別在user32..dll和Kernel32.dll中 那么就必須在程序中使用include語句包含這兩個庫文件,此時程序中可以使用user32..dll和Kernel32.dll中所有的函數 include相當于java中import導入包語句

Spring MVC Controller與jquery ajax請求處理json

在用 spring mvc 寫應用的時候發現jquery傳遞的【json數組對象】參數后臺接收不到&#xff0c;多訂單的處理&#xff0c;ajax請求&#xff1a; var cmd {orders:[{"storeId":"0a1", "address":"西斗門路2號", "goods":[{&…

課堂例子解答

Editbox 等價類劃分測試用例例子 要求輸入1到6個英文字符或數字&#xff0c;按OK結束并輸入。 其中有效等價類包括:1.長度1-6&#xff0c;2.a-z,A-Z,0-9 無效等價類包括&#xff1a;1.長度0或大于6&#xff0c;2.輸入字母數字以外的字符&#xff0c;控制字符&#xff0c;標點符…

從代碼里提取的測試需求

服務器端的測試&#xff0c;軟件需求基本等于產品說明書&#xff0c;只有大概&#xff0c;沒有詳盡。再需求不充分的情況下&#xff0c;我們可以從哪些方面來挖掘測試需求呢&#xff1f; 現已知需求&#xff1a;服務器支持對客戶端的版本升級&#xff0c;存在兩種升級規則&…