在Python寻找彩蛋:从“Hello World”的玄机到Python之禅

栏目: IT技术 · 发布时间: 3年前

在 <a href='https://www.codercto.com/topics/20097.html'>Python</a> 寻找彩蛋:从“Hello World”的玄机到Python之禅

全文共 1281 字,预计学习时长 6 分钟

在Python寻找彩蛋:从“Hello World”的玄机到Python之禅

图源:unsplash

也许在你眼里,Python可能只是项目创建、模拟和自动化的工具;但在一些人那里,它就像是《头号玩家》的电影片场,处处暗藏“玄机”,充满了有趣的彩蛋。

你是否已经厌倦了整体呆在家里?不如来探索Python中的隐藏功能和小惊喜吧!

1.最简单的“HelloWorld”

你写出的第一行代码是什么?一千个哈姆雷特可能都只有同一个答案——“HelloWorld”。那么,你有没有想过, print( Hello World! )并不是打出这两个单词的唯一方法?

实际上,只需导入Python开发人员隐藏的模块就可以实现HelloWorld。试试这个:

<span><span>&gt;&gt;&gt; </span><span>import</span> __hello__</span>

<span>Hello World!</span>

包括空格键在内,此代码只有16个字符!这可以说是“最简单的”HelloWorld程序之一。 请注意,不能在 Python 程序中重新导入模块,所以每次运行时可以打印一次信息。

在Python寻找彩蛋:从“Hello World”的玄机到Python之禅

图源:unsplash

2.Python之禅

这是在PEP20中提出的概念。PEP是指Python的增强提案。

Python是您最喜欢的语言吗?喜欢它什么?是设计吗?有20条描述Python设计的指导原则,可通过以下方式找到其中的19条:

<span>&gt;&gt;&gt; <span>import</span> <span>this</span></span>

剩下的那条去哪儿了?笔者猜测,人不可能无所不知。以下是前三条指导原则:

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.

必须感谢开发人员为制作如此优雅且易读的编程语言方面所付出的努力。这也是迄今为止 Python开发者指南 中唯一被称为“彩蛋”的“官方”程序。

3.体验反重力漫画

一行Python代码,就可以体验反重力漫画!

<span><span>import</span> antigravity</span>

试试看!请记住,这么做可能会被困在外太空,浏览几个小时xkcd网络漫画。

在Python寻找彩蛋:从“Hello World”的玄机到Python之禅

图源:unsplash

4.括号

与许多其他编程语言不同,Python在构造语句、函数和循环时实际上并不使用花括号{},但以后可能会用。

__future__ 模块包含不兼容更改,这些更改将在不久的将来强制实施。例如,在Python2.6或2.7中从__future__ 导入 print_function允许“print”变成接受参数 print()的函数,就像在Python 3中一样。

看看从__future__开始,括号将如何工作:

<span><span>&gt;&gt;&gt; </span><span>from</span> __future__ importbraces</span>

<span>SyntaxError: <span>not</span> a chance</span>

5. this.py

还记得Python之禅的前三行吗?

深入挖掘并找到这个模块文件this.py后,就会发现,这是迄今为止最漂亮、最明确、最简单的代码。

6.散列

无穷大和NaN的散列。

>>> hash(float( inf ))
314159
>>> hash(float( nan ))
0

这个彩蛋是在 Reddit 上找到的。笔者真想知道生命、宇宙与万事万物的终极解答。(出处:《银河系漫游指南》。)

7.巴里叔叔

关于运算符选择的争论已持续了 42 个年头。是时候解决了!

这一问题是在PEP 401中提出的,以下内容并不难猜到。著名的Python开发者巴里·华沙 (又名巴里叔叔)被“选中”成为终身友好语言叔叔,简称FLUFL。

在Python寻找彩蛋:从“Hello World”的玄机到Python之禅

图源:unsplash

他制定了一些“修改”,用钻石操作符<>替换不等式运算符 != 。如果同意巴里叔叔的观点,可以导入这个有趣的库,并且<> 语法将会生效,而 !=会导致语法错误。

>>> from __future__ importbarry_as_FLUFL>>> 0 != 1
SyntaxError: with Barry as BDFL, use  <>  instead of  != >>> 0<> 1
True
>>> 1 <> 1
False

其实彩蛋还有更多,接下来就自己探索吧,当你打开这扇门,Python世界从此妙趣横生。

在Python寻找彩蛋:从“Hello World”的玄机到Python之禅

推荐阅读专题

在Python寻找彩蛋:从“Hello World”的玄机到Python之禅

在Python寻找彩蛋:从“Hello World”的玄机到Python之禅

在Python寻找彩蛋:从“Hello World”的玄机到Python之禅

在Python寻找彩蛋:从“Hello World”的玄机到Python之禅

在Python寻找彩蛋:从“Hello World”的玄机到Python之禅

留言点赞发个朋友圈

我们一起分享AI学习与发展的干货

编译组:刘玲君、陈枫

相关链接:

https://towardsdatascience.com/7-easter-eggs-in-python-7765dc15a203

如转载,请后台留言,遵守转载规范

推荐文章阅读


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构基础

数据结构基础

[美]Ellis Horowitz 霍罗维兹 / 朱仲涛 / 清华大学出版社 / 2009-3 / 49.00元

《数据结构基础(C语言版)(第2版)》是最经典数据结构教材的最新版本,国内外大多数的同类教材都是以《数据结构基础(C语言版)(第2版)》为蓝本编写而来的。《数据结构基础(C语言版)(第2版)》用C作为描述语言,全面而生动地介绍了数据结构的有关知识,如数组、栈、队列、链表、树和图,以及构成所有软件基础的排序散列技术。此外,《数据结构基础(C语言版)(第2版)》还介绍了各种高级或特殊数据结构,如优先级......一起来看看 《数据结构基础》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具