好玩的 Python 彩蛋

简介: 好玩的 Python 彩蛋

Python作为一门严谨的编程语言,也充满了各种娱乐、恶搞、实用的彩蛋,程序员真的是一群创意无极限的家伙。笔者总结了Python中几个比较有趣的彩蛋。

1. Hello World

相传古时候有个退休的程序员,在家闲来无事,决定修习书法之道。第一日备好笔墨纸砚,便挥毫落纸写下一行大字:“hello, world”。hello world 是程序员学习一门新的编程语言的开始,而Python干脆把它嵌入到了内置模块中。

>>> import __hello__
Hello World...

到了python3,输出结果稍微有改动,把...替换成了 !

>>> import __hello__
Hello World!

2. Python之禅

import this 中隐藏了一首《Python之禅》的诗,它是Python中的『八荣八耻』,作者是 Tim Peters ,每个有追求的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!

参考翻译:

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 way not be obvious at first unless you’re Dutch.
虽然一开始这种方法并不是显而易见的,但谁叫你不是Python之父呢。
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!
命名空间是个绝妙的想法,让我们多多地使用它们吧!

3. 反地心引力

import antigravity是一个搞笑的彩蛋,它直接跳转到一副漫画网页xkcd.com/353/,漫画非常有意思,Cueball漂浮在天空中,一个朋友好奇的问他怎么飞起来的。

4c8fc70369b08040c7e559a2cf1fe8d.png

这个图的对话是:

Friend:哇!你在飞,怎么做到的?

Cueball:Python!

Cueball:我昨晚学的,非常简单

Cueball:运行 Hello World 只需要一句话:print "Hello World!"

Friend: 我不懂什么动态类型、空白符之类的?

Cueball:来,加入我们吧!Python编程很有乐趣,它是一个全新的世界

Friend: 但你是怎么飞起来的?

Cueball: 我就只是输入了 import antigravity

Friend:         就这样? (还是一脸不惑的表情)

Cueball: …嗯,我也对比了药品柜中的所有东西 (暗指Cueball对比过多种编程语言,但还是觉得Python最简单)

Cueball: 但我想这就是Python

4. 大括号替换缩进

Python与其他语言在语法上最大的不同就是代码块的结束方式,Python代码块简洁许多,一个类C语言的语法:

if (x > y) {
    x = 1;
    y = 2;
}

在 Python 中等价的语句:

if x > y :
    x = 1
    y =2

Python的目标之一就是让程序员少打些字,让生活多些乐趣。Python不需要像类C语言一样输入 begin/endthen/endif 或者 {} 来结束代码块,Python使用缩进来结束代码块。而braces库算得上是Python中最恶搞的一个彩蛋了,如果你是从类C语言转过来的程序员,估计你是一时半会儿适应不了Python的缩进,那么是否有其他办法呢? braces模块就是专门为C程序员准备的兼容方案。

>>> from __future__ import braces
  File "<stdin>", line 1
SyntaxError: not a chance

哈哈,被骗了吧,窃以为导入braces就可以使用大括号来结束代码块,Python告诉你的答案是:没门儿!

5. HTTPServer

如果想让身边的同事临时访问你电脑中的文件目录,通常的做法是搭一个共享目录出来供大家访问,不过你要是安装了Python,那么一切都变得简单很多了,只需要打开命令行窗口,切换到指定目录,执行:

python -m SimpleHTTPServer  # python2
python -m http.server  # python3

这是 Python 内置的一个简单 http server,方便自己、他人用浏览器来访问你的文件目录

6. 没有了


目录
相关文章
|
5月前
|
数据采集 人工智能 Python
好玩的 Python 代码
好玩的 Python 代码
51 0
|
数据安全/隐私保护 Python
Python的import this 惊喜彩蛋:Python之禅(The Zen of Python)
Python的import this 惊喜彩蛋:Python之禅(The Zen of Python)
Python的import this 惊喜彩蛋:Python之禅(The Zen of Python)
|
Python
这可能是最好玩的python GUI入门实例!
image.png 简单的说,GUI编程就是给程序加上图形化界面. python的脚本开发简单,有时候只需几行代码就能实现丰富的功能,而且python本身是跨平台的,所以深受程序员的喜爱.
1814 0
|
6天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
|
12天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
12天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
下一篇
无影云桌面