当一门编程语言是开源的时候,往往会有产生一些搞笑和有趣的东西。通常,这意味着社区的贡献者会为该语言添加一些有趣和特别的彩蛋以及隐藏的特性(当然前提是不会增加在生产环境中使用的风险)。

Python 就是一个很好的例子。作为一门开源的语言,它的社区为其贡献了一些十分幽默的东西。

旁注:如果您想观察彩蛋,请注意,它们只能在第一次工作。如果希望重新运行它们,需要重新启动 Python shell。

0. Hello World

程序员们都熟悉 Hello World 的概念。在大多数情况下,它指的是使用该编程语言编写的最小程序,它会将“Hello World”打印到屏幕。这可能是在学习新的编程语言时首先要做的。

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

>>> import __hello__

Hello World...

1. April Fool

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

>>> from __future__ import barry_as_FLUFL

>>> 1 <> 2

True

由 C++ 转换到 Python

'braces'库也是一个具有浓厚程序员风格的玩笑,它在其文档中提到,当在编写 Python 代码时使用这个库可提供使用 C++ 花括号的功能。但当你尝试使用它的时候,你将会看到社区对此的看法:

from future import braces

SyntaxError: not a chance

哈哈哈,以为导入 braces 就可以使用花括号来结束代码块?Python 的答案是:没门儿!

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

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

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

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

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

“反重力”漫画

import antigravity

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

对话内容大致翻译:

上图:

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

“Python!”

下左:

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

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

下中:

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

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

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

下右:

“我只是输入了 import antigravity”

“就这样?”

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

“但我想这就是 Python.”

一段有趣的python代码_你知道 Python 这五个有趣的彩蛋吗?相关推荐

  1. 简单几段python代码_如何用python跑一段鸿蒙最简单代码?

    首先,鸿蒙并不支持python,HarmonyOS代码开发支持多语言,包括Java.XML(Extensible Markup Language).C/C++ . JS(JavaScript).CSS ...

  2. python 代码_如何让Python代码加速运行?

    Python 是一种脚本语言,相比 C/C++ 这样的编译语言,在效率和性能方面存在一些不足.但是,有很多时候,Python 的效率并没有想象中的那么夸张.本文对一些 Python 代码加速运行的技巧 ...

  3. 货币转换python代码_演示4:python与Tkinter的货币转换,4python,币值,含,tkinter

    1 说明 币值的转换,此处以2020年10月20日的某时刻的币种汇率来演示. 2 知识点 2.1 汇率与币种 由于汇率在币种转换时会由一点误差,所以用两种方向的转换来互相弥补,但是也不能完全保证正确, ...

  4. 网页爬虫python代码_《用python写网络爬虫》完整版+源码

    原标题:<用python写网络爬虫>完整版+源码 <用python写网络爬虫>完整版+附书源码 本书讲解了如何使用Python来编写网络爬虫程序,内容包括网络爬虫简介,从页面中 ...

  5. 货币转换程序(双符号)python代码_如何实现python汇率转换代码

    对于刚刚入门python的学习者们,最头疼的莫过于基础的功能实现代码了,很多函数可以实现意义是一样的,今天小编教大家实例--实现python汇率转换代码. Python中的货币转换器 tkinter ...

  6. 掷骰子python代码_如何使用python的random模拟掷骰子的数据

    python是一个很有趣的语言,可以在命令行窗口运行.python支持面向对象的编程方法,这篇经验就告诉你,如何使用python的random模块,模拟掷骰子的数据. 工具/原料 windows系统电 ...

  7. 打卡签到python代码_如何利用Python实现自动打卡签到

    需求描述 我们需要登录考勤系统(网页端,非手机端)进行签到,如果不想每天都早早起来打卡签到,就可以通过写程序实现这一功能. 业务梳理 通过长时间的早起打卡签到发现规律,我每天只是不停的点击,签到,都是 ...

  8. 如何修改python代码_如何修改Python源代码以添加新的AST节点?

    例如,如果我要创建一个名为"Something"的节点,我想在Python AST树中使用,我必须在哪里和哪些更改添加到Python源代码才能做到这一点? 我知道我应该从Pytho ...

  9. 支持向量机python代码_支持向量机及python实现(一)

    支持向量机英文名称Support Vector Machine简称SVM,它是由前苏联科学家Corinna Cortes在1995年首先提出的,它在解决小样本.非线性及高维模式识别中表现出许多特有的优 ...

最新文章

  1. XCode真机测试发布时产生The executable was signed with invalid entitlements.解决办法
  2. docker 容器环境 检测方法
  3. java十分钟速懂知识点——引用
  4. Android DDMS位置
  5. Jetpack:使用 ActivityResult 处理 Activity 之间的数据通信
  6. 关于 SAP CRM 订单抬头级别的 Text 无法编辑的问题分析
  7. OSCON上最受欢迎的Docker演讲
  8. A*B问题(信息学奥赛一本通-T1036)
  9. 15 PP配置-生产计划-主数据-定义特殊采购类型
  10. 力扣150-逆波兰表达式求值(C++,附思路)
  11. DWG/DGN格式导入Arcgis;转化为shp格式;更改地理坐标;导入Google Earth
  12. 2020年书法落款_快来排排2020鼠年书法落款时间表,收!
  13. PostgreSQL 优势,MySQL 数据库自身的特性并不十分丰富,触发器和存储过程的支持较弱,Greenplum、AWS 的 Redshift 等都是基于 PostgreSQL 开发的...
  14. 包是如何通过交换机的
  15. 视图数据共享之SESSION/CACHE
  16. VM14安装及使用环境配置
  17. Python设置显示屏分辨率
  18. 【Struts】ActionForm
  19. 如何在浏览器中打开jupyter notebook
  20. 微信小程序的父子组件传值

热门文章

  1. CUDA-v11.2下载以及相应版本cuDNN
  2. mysql 导出 表内容的sql
  3. 伪造ACK实现TCP数据注入
  4. C语言与木马恶意代码分析和360安全防护揭秘
  5. Unity | 接口的理解和使用方法
  6. 深度linux使用京麦,京东京麦开放平台的高可用架构之路
  7. day02-Pandas
  8. AutoHotKey (AHK) 按键表+自定义快捷键简化操作的教程
  9. ESXi虚拟机NTP同步
  10. NORD SK 132 M/4 BRE100 FHL起心动念,随遇而安