原标题:99%的Python程序员都不知道的秘密

Python程序玩了好几年,但是估计99%的程序员都不知道Python竟然隐藏2个秘密,里面竟然还有彩蛋。Python核心程序开发人员真的是太有才了,不信你看:

彩蛋一

上面的图片有没有见过,怎么出来啦的呢,其实是Python库里面埋的一个彩蛋,其实就是一行代码搞定的。

importantigravity

对,你没有看错就是这一行代码,运行之后就会自动打开浏览器然后跳转到这个搞笑的Python网站:

看一下这个库的源码,就会发现为啥运行上面的一行代码直接出现网站,原来是用了webbrowser这个库直接打开的。

彩蛋二

Python里面有一些非常经典的话,都是很短小的语句,叫Python之禅。其实这些英文短句,已经被做标准库隐藏在里面。不信你敲:

importthis

里面会输出:

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!

看一下this库的源码你会吓一跳,里面是一个串很长的乱码字母,就像是一段加码的蝌蚪文(忽然让我想起来鹿鼎记里面的那段读蝌蚪文的画面)

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 = {}

forc in(65, 97):

fori inrange(26):

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

print("".join([d.get(c, c) forc ins]))

两个for循环来生成一个字母映射表,第一个for是去大写的字母A和小写的a,然后进行偏移换成成一个字典对,我们打印一下看一下:

>>

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm

有同学是不是很好奇这到底是啥,其实就是ROT13加密算法,江湖人称“回转13位加密算法”。

是不是长见识了,如果以前知道这些彩蛋的同学,请留言区吱一声!

昨天的公众号刷题活动,非常火爆,我们刷题实战今天开始,如果想上车赶紧啦!

近期热门:

不废话,学Python就是这条捷径返回搜狐,查看更多

责任编辑:

知道python不_99%的Python程序员都不知道的秘密相关推荐

  1. 程序员都不知道的代码

    def getCode(chinese):     '''     获取汉字的对应区位码     :param chinese: 单个汉字     :return: 获取到的区位码     '''   ...

  2. python视频课程推荐-听说程序员都在用,5款Python开发工具推荐

    很多Python学习者想必都会有如下感悟:最开始学习Python的时候,因为没有去探索好用的工具,吃了很多苦头.后来工作中深刻体会到,合理使用开发的工具的便利和高效.今天,我就把Python程序员使用 ...

  3. Python程序员都知道的5个彩蛋

    程序员在大众眼中是一群智商高.情商低,少言寡语的人,这种由来已久的刻板印象源自于大众缺乏对程序员的真正了解,其实程序员和其它行业一样是个多元化的职业,也不乏幽默.高情商.口吐莲花的人. 看看开发 Py ...

  4. 程序员不得不知道的英语词汇

    下面是一些在编程时常见的一些英语词汇. Data Structures 基本数据结构 Dictionaries 字典 Priority Queues 堆 Graph Data Structures 图 ...

  5. 程序员不得不知道的 API 接口常识

    说实话,我非常希望两年前刚准备找实习的自己能看到本篇文章,那个时候懵懵懂懂,跟着网上的免费教程做了一个购物商城就屁颠屁颠往简历上写. 至今我仍清晰地记得,那个电商教程是怎么定义接口的: 管它是增加.修 ...

  6. 程序员不得不知道的技术面试资料大全

    本文由yuanbin和九章算法协同著作. 网站推荐 GeeksforGeeks.org 非常著名的漏题网站之一.上面会时不时的有各种公司的面试真题漏出.有一些题也会有解法分析. CareerCup.c ...

  7. 如何成为一个好的软件测试员?绝大多数人都不知道的秘密

    目录 1.前言 2.沟通能力 3.技术能力 4.自信心 5.外交能力 6.幽默感 7.很强的记忆力 8.耐心 9.自我督促 10.洞察力 11.不懈努力 12.创造性 13.追求完美 14.判断准确 ...

  8. MySQL最左匹配原则,程序员都得知道的原则

    通常我们在建立联合索引的时候,相信建立过索引的同学们会发现,无论是Oracle还是 MySQL 都会让我们选择索引的顺序,比如我们想在a,b,c三个字段上建立一个联合索引,我们可以选择自己想要的优先级 ...

  9. python自学行吗-上万程序员总结:自学Python,掌握到什么程度就可以找工作了?...

    原标题:上万程序员总结:自学Python,掌握到什么程度就可以找工作了? 前言: Python现在非常火,语法简单而且功能强大,很多同学都想学Python! 在这里把最好的分享给大家!希望能带给大伙儿 ...

最新文章

  1. MySQL server has gone away报错原因分析及解决办法
  2. Oracle的left join中on和where的区别
  3. C++ Primer 5th笔记(chap 14 重载运算和类型转换)成员运算符
  4. linux下查找某个目录下包含某个字符串的文件
  5. mongodb添加多条数据_分析了一万多条拼车数据,看看北上广深的各位都回哪过年...
  6. LeetCode 109. 有序链表转换二叉搜索树
  7. 计算机等待程序关闭,教您win10系统关闭计算机弹出“等待后台程序关闭”无法关机的技巧...
  8. 利用Ninject实现依赖注入
  9. JDBCUtils类测试
  10. NLP之路-实验nltk中的raw 和 words
  11. HTML DOM 入门知识点总结
  12. word python api_WordNet Python API (整理总结)
  13. R语言数据清洗实战——高效list解析方案
  14. 2020PayPal提现有哪些渠道?听说注册义乌个体户也可以!
  15. TLC固态硬盘暴力读写寿命测试
  16. 解决mysql.sock连接不上问题:Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2)
  17. 网易云音乐外链(PHP的curl函数)
  18. MySQL基础——DDL、DML、DQL、DCL语句
  19. Pell方程初识以及技巧性的求解Pell方程整数解(附带手推详细证明)
  20. 《操作系统》学习笔记|6.6外存空间管理

热门文章

  1. TSA-Net: Tube Self-Attention Network for Action QualityAssessment (论文理解)
  2. EDA Tools 安装
  3. php 继承 可见性,php – 私有方法覆盖和可见性
  4. 我的oracle + blog之旅
  5. Qt5 完全退出程序
  6. hibernate中日期条件查询问题setDate,setTimestamp
  7. Cordova 编译打包 gradle下载慢的曲线救国解决办法
  8. 双飞翼 html 布局,css实现双飞翼布局的四种方法(附代码)
  9. DHCP Option 43字段
  10. ruckus DHCP Option 43