阅读文本大概需要 6.6 分钟。

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

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

2. 由 C++ 转换到 Python

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

>>> from __future__ import braces

SyntaxError: not a chance

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

3. 经典的 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 之父呢。 做比不做好,但立马去做有时还不如不做。 如果实现很难说明,那它是个坏想法。 如果实现容易解释,那它有可能是个好想法。 命名空间是个绝妙的想法,让我们多多地使用它们吧!

4. “反重力”漫画

import antigravity

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

对话内容大致翻译:

上图:

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

“Python!”

下左:

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

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

下中:

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

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

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

下右:

“我只是输入了 import antigravity”

“就这样?”

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

“但我想这就是 Python.”

欢迎关注我的微信公众号「痴海」,后台回去「1024」,领取最新 Python 教程。

一段有趣的python代码_Python 五个有趣的彩蛋,你都知道吗?相关推荐

  1. 有趣的python代码系列五:可爱的小黄人

    先看效果图: python代码: import turtle as t # t = turtle.Turtle() wn = t.Screen() t.colormode(255) t.hidetur ...

  2. 有趣的python项目_Python几个有趣和特别的小故事

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

  3. 一段简单的python代码_Python趣味打怪:60秒学会一个例子,147段简单代码助你从入门到大师 | 中文资源...

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 人生苦短,编程苦手,不妨学起Python,感受一飞冲天的快乐. 不要害怕学习的过程枯燥无味,这里有程序员jackzhenguo打造的一份中文 ...

  4. 有趣的python代码系列四:小猪佩奇

    先看效果图: python代码: import turtle from turtle import * turtle.title('小猪佩奇')def nose(x,y):""&q ...

  5. Python代码练习(五):Numpy

    Python代码练习(五):Numpy 七月在线课程的练习题 简单加法: 在 Python 下对一个二维列表,l1=[[1,2,3],[4,5,6]],然后进行每个元素+1 的操作. 要求使用 Pyt ...

  6. Python中隐藏了你不知道的10个彩蛋

    Python中隐藏了你不知道的10个彩蛋 本博客转载自:http://www.techug.com/post/10-tips-of-python-programming.html?utm_source ...

  7. 一段有趣的python代码_你知道 Python 这五个有趣的彩蛋吗?

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

  8. 有趣的python代码实例_Python之路:200个Python有趣的小例子一网打尽

    概述 博主最近在学习python,看完了一整套学习视频,然后呃呃呃,还是用不太流畅.碰巧在全球最大的 同性交友论坛GayHub(呸!是开源代码托管平台Github)上面发现了一个项目,该项目列举了20 ...

  9. python抓有趣的东西_Python 五个有趣的彩蛋,你都知道吗?

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

最新文章

  1. 超越BN-ReLU!谷歌大脑等提出EvoNorms:归一化激活层的进化
  2. html 加载后删除,document.write()应该在我的页面加载后删除所有现有的html?
  3. 二、JavaScript语言--JS基础--JavaScript进阶篇--DOM对象 控制HTML元素
  4. BZOJ2938: [Poi2000]病毒(AC自动机)
  5. java 正则 子字符串_使用Java正则表达式来查找另一个子字符串中的子字符串
  6. 牛客网_PAT乙级_1022挖掘机技术哪家强(20)【class vector sort排序、删除重复元素】
  7. zipentry压缩乱码linux,java生成压缩文件 ZipEntry出现乱码的有关问题
  8. python没有代码提示怎么设置_Python Kite 使用教程 轻量级代码提示
  9. linux测试游戏下载,一波超人内测版最新下载-一波超人内测版游戏下载v1.0.2-Linux公社...
  10. IO流 (五) ----- 对象数据的序列化与反序列化
  11. 二叉树的镜像(C++)
  12. shell基础之更改IP
  13. 基于SpringBoot校园疫情防控管理系统 校园出入登记系统
  14. 经典特别好用的局域网传输文件聊天工具飞秋和飞鸽传书
  15. Radon变换与Matlab代码
  16. 二舅治好我的精神内耗,也让我火出了B站
  17. nginx怎么防御DDOS攻击
  18. Sketch-Based Image Retrieval
  19. 数据备份一般有哪些方式,如何进行数据备份
  20. one to one

热门文章

  1. html自动适应屏幕代码,html根据手机屏幕大小做自适应
  2. 爬虫【爬取汽车之家新闻】
  3. Dynamic-IPSec
  4. IOS游戏名字的本地化修改
  5. History.pushState(),动态添加历史记录.页面离开如何保存状态?
  6. Storm8 游戏盘点
  7. python基础(十八):函数式、递归调用
  8. 10月29日晚8点,国产开源物联网操作系统TencentOS tiny线上直播开讲
  9. 自得其乐读《论语》—1.02孝弟为本
  10. vue中props的用法