日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python import 原理-Python之禅-import this的实现

發布時間:2025/3/20 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python import 原理-Python之禅-import this的实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學過Python的人想必都聽過大名鼎鼎的Python之禪:

The Zen of Python, by Tim Peters

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.

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解釋器中敲入"import this"的時候它就會出現,那么它是怎么實現的呢?或許你和我的想法一樣:定義一個字符串zen_of_python,把上面的字符串傳給它,然后print就行了。這確實是非常簡單的實現方式,但是當我打開Python的源碼文件時驚訝的發現其實它并不是這樣實現的。

從Python源碼包的Include目錄下的this.py我們可以看到它的實現是這樣的:

s = """Gur Mra bs Clguba, ol Gvz Crgref

Ornhgvshy vf orggre guna htyl.

Rkcyvpvg vf orggre guna vzcyvpvg.

Fvzcyr vf orggre guna pbzcyrk.

Pbzcyrk vf orggre guna pbzcyvpngrq.

Syng vf orggre guna arfgrq.

Fcnefr vf orggre guna qrafr.

Ernqnovyvgl pbhagf.

Fcrpvny pnfrf nera"g fcrpvny rabhtu gb oernx gur ehyrf.

Nygubhtu cenpgvpnyvgl orngf chevgl.

Reebef fubhyq arire cnff fvyragyl.

Hayrff rkcyvpvgyl fvyraprq.

Va gur snpr bs nzovthvgl, ershfr gur grzcgngvba gb thrff.

Gurer fubhyq or bar-- naq cersrenoyl bayl bar --boivbhf jnl gb qb vg.

Nygubhtu gung jnl znl abg or boivbhf ng svefg hayrff lbh"er Qhgpu.

Abj vf orggre guna arire.

Nygubhtu arire vf bsgra orggre guna *evtug* abj.

Vs gur vzcyrzragngvba vf uneq gb rkcynva, vg"f n onq vqrn.

Vs gur vzcyrzragngvba vf rnfl gb rkcynva, vg znl or n tbbq vqrn.

Anzrfcnprf ner bar ubaxvat terng vqrn -- yrg"f qb zber bs gubfr!"""

d = {}

for c in (65, 97):

for i in range(26):

d[chr(i+c)] = chr((i+13) % 26 + c)

print("".join([d.get(c, c) for c in s]))

代碼前部的字符串像是一堆亂碼,但是從格式上看和Python之禪是一樣的。要理解Python之禪是怎樣被輸出的還是要看下面的代碼。

我們首先看兩個嵌套的for循環,通過代碼不難理解實際上通過這個循環定義了一個字典,這個字典有52個key value。這其實就是將a-z A-Z大小寫兩套英文字母重新做了對應。具體是怎樣對應的就要去看chr()函數了。chr()函數提供了數字和ascii字符對應的功能。在段代碼里看似混亂的字符串被重新做了對應,它的對應關系就保存在了d這個字典里。

接下來就是輸出的環節了,join后面是一個列表推導式,它會逐個讀取每個字符然后找到字典里保存的對應關系。這里用到了get()函數,它的作用是找到字典中key對應的value,第二個參數指定了如果找不到對應的值返回的默認值是什么。之前提到d字典保存了英文大小寫總共52個字符的對應值,但是這里面標點符號空格換行符之類的值是沒有保存對應關系的,所以在沒有找到的情況下會把輸入的值原樣返回。最后需要join函數吧整個列表拼接成一個字符串,不然打印出來東西就會像是這個樣子了:

["T", "h", "e", " ", "Z", "e", "n", " ", "o", "f", " ", "P", "y", "t", "h", "o", "n", ",", " ", "b", "y", " ", "T", "i", "m", " ", "P", "e", "t", "e", "r", "s", " ", " ", "B", "e", "a", "u", "t", "i", "f", "u", "l", " ", "i", "s", " ", "b", "e", "t", "t", "e", "r", ".....

通過上面的分析我們可以看到這個非常簡單的功能并沒有用定義一個字符串然后打印的簡單方式實現。它的實現利用了chr()函數,get()函數,join()函數,還涉及了列表推導式,是一個非常有內容的實現。

總結

以上是生活随笔為你收集整理的python import 原理-Python之禅-import this的实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 特级大胆西西4444人体 | 少妇把腿扒开让我舔18 | 波多野结衣一二三区 | 国产又粗又猛又爽又黄 | 香蕉成视频人app下载安装 | 日韩一区二区在线播放 | 日本少妇videos高潮 | 亚洲欧美日韩另类在线 | 91福利网| 色福利网 | 亚洲激情视频网站 | 特级淫片aaaaaaa级附近的 | 国产精品扒开腿做爽爽 | 国产欧美在线一区 | 日本人体一区 | 窝窝午夜精品一区二区 | 免费动漫av | 97精品熟女少妇一区二区三区 | 超级碰碰97 | 91丨九色丨海角社区 | 一区二区三区四区五区视频 | 日本成人免费在线 | 碰超在线 | 免费国产网站 | 女人18毛片水真多 | 五月天在线观看 | 美女草逼视频 | 18禁裸男晨勃露j毛免费观看 | 韩国久久久久久 | 日日碰碰 | 久久久精品久久久久久 | 在线观看福利片 | 手机在线毛片 | 亚洲30p| 国产一区二区三区在线 | 岛国av免费看 | 色啪视频 | 国产艳俗歌舞表演hd | 老司机深夜福利网站 | 少妇高潮一区二区三区99刮毛 | 日本免费黄视频 | 男裸体无遮挡网站 | 中文字幕在线播放一区二区 | mm131丰满少妇人体欣赏图 | 香蕉成人av | 成人视屏在线观看 | 椎名由奈av一区二区三区 | 你懂的国产在线 | 亚洲最大福利网 | 天天操夜夜操视频 | 亚洲成人国产 | 精品少妇一区二区三区在线观看 | 老妇高潮潮喷到猛进猛出 | 日韩精品无码一区二区 | 亚洲一区二区国产精品 | 国产三级久久久久 | 亚洲人做受 | 欧美色涩在线第一页 | 欧美肥老妇视频九色 | 国产αv| 正在播放老肥熟妇露脸 | 亚洲黄色片在线观看 | 骚虎av在线 | 男女羞羞的视频 | 亚洲日本天堂 | 欧美日韩中文在线 | 黄色茄子视频 | 亚洲国产精 | 91亚洲免费| 色国产在线 | 亚洲操一操 | www.色婷婷.com| 色妞网站 | 日韩激情 | 人妻精品一区二区在线 | av导航福利 | 亚洲激情成人网 | 亚洲国产婷婷香蕉久久久久久99 | 亚欧日韩 | 青青操免费在线视频 | www日韩视频 | 色伊人| 欧美人吸奶水吃奶水 | 亚洲美女网站 | 亚洲成色| 人妻在线日韩免费视频 | 秋霞欧美在线观看 | ,午夜性刺激免费看视频 | 福利视频亚洲 | 成人免费一级 | 素人女裸体 | 国产精品久久久久999 | 国产亚洲精品一区二区三区 | 视频区小说区图片区 | av黄色在线免费观看 | 欧美大片黄色 | 一级片美女| 日韩日b | 色视频在线看 |