当一门编程语言是开源的时候,往往会有产生一些搞笑和有趣的东西。

Python 就是一个很好的例子。作为一门开源的语言,Python的社区为Python贡献了一些十分幽默的东西。现在就来细数一下 Python 中那些有趣的彩蛋。

0

Hello World

程序员们都熟悉 Hello World 的概念。在大多数情况下,它应该是学习Python语言编写的第一个程序,它会将“Hello World”打印到屏幕。

Python 有一个酷酷的隐藏的库"__hello__",做了一些有点与众不同的事:

>>> import __hello__

Hello World!

1

April Fool

下面的 April fool 玩笑是由 Barry Warsaw 提出的。他是一位著名的 Python 开发者,在他宣布正式退休的时候,就诞生了下面这个彩蛋:

>>> from __future__ import barry_as_FLUFL

>>> 1 <> 2

True

>>> 1!=2

File "", line 1

1!=2

^

SyntaxError: invalid syntax

这是 Python3 中的一个彩蛋。上面的代码怎么解释呢?

“barry” 当然是指 Barry Warsaw。Barry 大叔认为不等式 != 两个字符在键盘的两端,根本就是不顾程序员手指的感受。

所以 Barry 希望能恢复 Python2 中的 <>符号来表示"不等于"。于是,导入 “barry_as_FLUFL ”就可以使用 <> 了,而 !=却失效了。

2

由 C++ 转换到 Python

'braces'库也是一个具有浓厚程序员风格的玩笑,它在其文档中提到,当在编写 Python 代码时使用这个库可提供使用 C++ 花括号的功能。

但是!当你尝试使用它的时候,你将会看到社区对此的看法:使用这个库?没门儿!

>>> from __future__ import braces

SyntaxError: not a chance

4

经典的 Python 之禅

import this

运行上面的代码将显示由 Tim Peters 编写的"Zen Of Python(Python 之禅)"。据传这是 Python 中的『八荣八耻』,每个有追求的 Python 程序员都应该谨记于心。

import this

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 之父呢。

·做比不做好,但立马去做有时还不如不做。

·如果实现很难说明,那它是个坏想法。

·如果实现容易解释,那它有可能是个好想法。

·命名空间是个绝妙的想法,让我们多多地使用它们吧!

“The Zen of Python”是其中一个核心开发者 Tim Peters 将 Python 的语言设计原则浓缩为20条格言,在 PEP20 中被正式引入Python,不过内容却只有19条,不知这算不算是彩蛋中的彩蛋2333。

4

“反重力”对话

import antigravity

输入上面这行代码,会直接跳转到漫画网页 xkcd。漫画很有意思,一个人漂浮在天空中,他的一位朋友好奇的问他是怎么飞起来的。

对话内容大致翻译:

上图:

A:“你在飞!怎么做到的?”

B:“Python!”

下左:

B:“我昨晚学习了 Python,一切都是那么简单”

B:“运行 HELLO WORLD 只需要 print "Hello World!"”

下中:

A:“我还是不明白……动态类型,还是空格?”

B:“来加入我们吧,编程又再次变得有趣起来了,Python 是一个全新的世界”

A:“但你是怎么飞起来的?”

下右:

B:“我只是输入了 ‘ import antigravity’ ”

A:“就这样?”

B:“我还对药品柜中的所有东西进行了采样比较”(暗指B对比过多种编程语言,但还是觉得 Python 最简单)

B:“但我想这就是 Python.”

python搞笑语句_Python那么有趣!Python里五个有趣的彩蛋你知道吗?相关推荐

  1. python清空语句_python有趣语句

    python 赋值语句 python中的语句: 赋值语句 if语句,当条件成立时运行语句块.经常与else, elif(相当于else if)配合使用. for语句,遍列列表.字符串.字典.集合等迭代 ...

  2. python搞笑语句_云计算开发学习笔记:Python3 import语句

    原标题:云计算开发学习笔记:Python3 import语句 想使用 Python 源文件,只需在另一个源文件里执行 import 语句,语法如下: 当解释器遇到 import 语句,如果模块在当前的 ...

  3. python入门语句_Python 快速入门笔记(5):语句

    本系列随笔是本人的学习笔记,初学阶段难免会有理解不当之处,错误之处恳请指正.转载请注明出处: https://www.cnblogs.com/itwhite/p/12297769.html. 简介 p ...

  4. python打印语句_Python 打印语句

    Python 打印语句 首先申明下,本文为笔者学习<Python学习手册>的笔记,并加入笔者自己的理解和归纳总结. 1.print语句用来打印,并在行的末尾添加一个换行.>>& ...

  5. python退出语句_python退出命令

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 要退出python命令行,我必须输入exit(). 如果我输入退出,它提示:us ...

  6. python断言语句_Python中的断言(Assertions in Python)

    Python中的断言(Assertions in Python) 断言是一种完整性检查,您可以在完成程序测试后打开或关闭. 想到断言的最简单方法是将它比作一个raise-if语句(或者更准确,即使是i ...

  7. python列表反转诗_Python中几个有(wu)趣(liao)的彩蛋

    原标题:Python中几个有(wu)趣(liao)的彩蛋 大家好,欢迎来到 Crossin的编程教室 ! 快过年了,今天咱们分享点轻松的东西. Python 作为一门开源的语言,社区菊苣们贡献了很多搞 ...

  8. python的使用说明_Python教程:Python中__init__.py的使用用法说明

    Python中的Module是比较重要的概念.常见的情况是,事先写好一个.py文 件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的 ...

  9. python ca模块_python学习之模块-模块(五)

    5.10 包 5.10.1 包的概念 [官网解释] Packages are a way of structuring Python's module namespace by using " ...

最新文章

  1. 「深入浅出」了解语音识别的技术原理和应用价值?
  2. 【LaTeX】E喵的LaTeX新手入门教程(5)参考文献、文档组织
  3. c++17(20)-双向循环链表(不依赖具体数据)
  4. 第二次作业python
  5. 一个员工的离职成本有多恐怖!
  6. VC程序中实现控件的动态生成与响应
  7. python和c 的区别-python和C语言的差别
  8. 第四届福建省大学生程序设计竞赛
  9. dhcp协议_什么是DHCP?总结DHCP优缺点和工作原理
  10. 初学者PLC程序及有效学习方法
  11. Java主流框架的介绍
  12. linux java sqlldr_sqlldr用法详解
  13. 上网被阻断未经pppoe认证_锐捷上网认证常见问题及解决办法
  14. 个人资料管理经验总结
  15. 10个常用的数据分析商业模型之漏斗模型(六)
  16. android 从顶部弹出的SnackBar
  17. 育润多维发力慈善领域,勇抗企业公益大旗
  18. WRF案例运行-Single Domain Case
  19. 如何从CCleaner清理中排除项目
  20. Witt向量简介 §1.3:整数环Z关于p-进赋值的一种完备化结果

热门文章

  1. lol8月21号服务器维护,LOL8月21日更新维护公告 8.16版本更新内容汇总
  2. 关于meta标签详解
  3. matlab 求单/多元函数极值
  4. RoadMap: A Light-Weight Semantic Map for Visual Localization towards Autonomous Driving
  5. 致力协同办公oa系统服务器设置,致力协同办公OA系统——安装手册.pdf
  6. 服务器系统陆金苹果下拉十,《龙吟大陆》10日凌晨4点新版本合服更新公告
  7. Kong Api 初体验
  8. 用Java实现简单扫雷程序
  9. 刺激战场国际服服务器信号,刺激战场国际服全面禁止中国玩家登录? 光子的做法不能接受!...
  10. hash 和 history 两种模式