编程语言
首页 > 编程语言> > Python之禅

Python之禅

作者:互联网


昨天Paradoxical乱翻python安装目录的时候,看到了一个叫this.py的文件。在好奇心的驱使下打开了它。

图片


emmmm……完全看不懂,只能请教一下小哥哥了。


我:小哥哥,你知不知道那个this.py是什么吗?


惨绿青年:知道啊,就是python之禅。


我:禅是什么鸭?


惨绿青年:真懒……“禅,是一种基于“静”的行为,源于人类本能,经过古代先民开发,形成各种系统的修行方法,并存在于各种教派。先秦时期就有关于此种行为的记载,但是未有固定称呼。直至印度词汇jana传入,汉语音译为“禅那”,后世便以“禅”字称谓此类行为”——百度百科。python之禅就是指python的修行方法。你试下运行这个文件。


于是Paradoxical就运行了这个文件看看。

图片


我:小哥哥,你给我翻译翻译中文是什么呗。


惨绿青年:唉,真是服了你了。给你上网找一个吧。

图片


我:有一点点懂了,好像好厉害的样子。那这段文字是怎么出来的鸭?


惨绿青年:这就要说到ascii(美国信息交换标准代码)了。如下图所示,不同的符号对应不同的ascii,大写字母A到Z的10进制ascii是65到90,小写字母a到z的10进制ascii是97到122。chr()输入10进制数字参数即可获取对应的字符。




惨绿青年:所以第一层循环循环两次分别把65和97赋值给c,第二层循环循环26次,就是遍历26个大写字母和26个小写字母。


惨绿青年:第二层循环里的语句就是把映射关系存入字典d。(i + 13)%26就是偏移量,加上第一层循环中的c变量就能通过chr()取得对应的字母。最后遍历s里的字符从字典d取出对应的值后拼接成字符串,就成了你最终看到的结果。



图片


我:为什么i要加13鸭?


惨绿青年:因为他设计的时候就是把ascii码偏移了13位啊!


我:哈~原来是这样鸭~


标签:青年,26,惨绿,之禅,Python,python,循环,ascii
来源: https://blog.51cto.com/15072921/2582125