随聊——Python的前世今生
1989年圣诞节前夕,山雨欲来风满楼,计算机程序设计语言界隐隐有大事要发生,果然不出所料。江湖人称龟叔(Guido von Rossum),就是这位祖籍荷兰的大能,在圣诞节百无聊赖的期间,发明了Python。自此,Python一发不可收拾,备受业界人士喜爱,迅速占领各大行业、公司、企业,成功登顶语言类排行榜。
至此,Python已然成为人人争抢修炼的一本秘籍。这与龟叔的设计初衷理念是分不开的。早期,电脑内存的限制,效率低下,程序语言执行过程繁琐,并且语言适应方向单一,运维脚本与程序开发不能兼具高效率开发。就是在这种迫切需要一种语言,能够解决上述窘境、全面调用计算机的功能接口的Python语言应运而生。可以说python的出生是一种必然。
Python语言的诞生,是在关键的时刻解决至关重要的难题,而不是要与其他语言一较高下,一决雌雄的。Python有着自己独特的领域,能做其他所不能做,完成其他所不能完成,你说想到的只是Python的附加项,没错,就是你现在想到的。所以说Python的特点是‘优雅’、‘明确’、‘简洁’。
Python这个名字的由来,由于龟叔喜爱一部电视剧‘Monty Python’s Flying Circus’,很独特很任性是吗,龟叔:What can you do for me?Python是由C语言写出来的,因为Python最初的理念就是创造一种与C和Shell之间的功能全面的,易学易用,可拓展性很强的语言。所以说Python是一种大方得体,平易近人的。
简单来讲,对比一下:C语言的执行方式是编译为机器码、执行速度疾如雷电、代码量盈千累万;Java语言的执行方式是编译为字节码、执行速度快马加鞭、代码量车载斗量;Python语言的执行方式是解释执行、执行速度风度翩翩、而代码量则是言简意赅的,用《道德经》里面的一句话来讲就是‘少而精,简而远’。执行的速度快很重要对吗?是的,但是在大多数的程序应用中是需要数据传输的,所以说执行的速度再快,数据传输跟不上也是一样的。没听过吗,再厉害的跑车在四环路上也只能跑20而已。
Python的发展趋势和实际应用场景,已经不需要说了是吗,看几条新闻,看几条招聘,有什么比现实更现实的,我们能做也只能是为了追赶现实而努力。
最后,Python的“转世”过程是潇洒的,在2版本发展使用的过程中,Python3横空出世,被称为Py3K。所以说Python在版本过渡的过程中也是由坎坷的,到目前为止2版本中最成熟的是2.7版本,但官方只支持到2020年。这也就说明python3已经很成熟,大可以放心选择、使用、版本替换了。
安装过程简单,不过是在熟练的情况下简单。如果首次还是按照百度百科或者在大人的看管下安装使用。
Python也有自己的明信片,可以查看Python之禅(The Zen of Python, by Tim Peters),通过在交互式Shell中import this查看。
>>> 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之禅
优美胜于丑陋
明了胜于晦涩
简洁胜于复杂
复杂胜于凌乱
扁平胜于嵌套
间隔胜于紧凑
可读性很重要
即便假借特例的实用性之名,也不可违背这些规则
不要包容所有错误,除非你确定需要这样做
当存在多种可能,不要尝试去猜测
而是尽量找一种,最好是唯一一种明显的解决方案
虽然这并不容易,因为你不是 Python 之父
做也许好过不做,但不假思索就动手还不如不做
如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然
命名空间是一种绝妙的理念,我们应当多加利用
随聊——Python的前世今生的更多相关文章
- Python - 和我聊Python节目最新一期介绍 - 257期:使用超级电脑,Python,射电天文学知识来探索银河系
今天,给大家简单介绍和我聊Python的最新一期节目,第257期:使用超级电脑,Python,射电天文学知识来探索银河系. 听着标题就觉得高大上,是的,我也是这么认为的.这次请的嘉宾来头很大,来自国际 ...
- Python - 翻译Talk Python To Me (和我聊Python) 播客
“和我聊Python”是一个美国的聊天播客,英文名Talk Python To Me,类似于喜马拉雅的音频课程节目,只不过这个主题是编程语言Python.该节目从2015年的节目到现在,已经超过256 ...
- Python开发 第一篇 python的前世今生
Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...
- 三言两语聊Python模块–单元测试模块unittest
实际上unittest模块才是真正意义上的用于测试的模块,功能强大的单元测试模块. 继续使用前面的例子: # splitter.py def split(line, types=None, delim ...
- 三言两语聊Python模块–文档测试模块doctest
doctest是属于测试模块里的一种,对注释文档里的示例进行检测. 给出一个例子: splitter.pydef split(line, types=None, delimiter=None): &q ...
- (一)python的前世今生
一:Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum)(目前还活着),诞生于1989年,是一个脚本解释程序,由于python语言结构优美,清晰简单,随着人工智能 ...
- Python的前世今生
放弃 拾起 放弃 拾起 最终决定好好的编写一次Python的学习笔记 人生苦短,我用Python --------------Life is short, you need Python 再不抓紧,就 ...
- python学习笔记-(一)初识python
1.python的前世今生 想要充分的了解一个人,无外乎首先充分了解他的过去和现在:咱们学习语言也是一样的套路 1.1 python的历史 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈp ...
- 从用python自动生成.h的头文件集合和类声明集合到用python读写文件
最近在用python自动生成c++的类.因为这些类会根据需求不同产生不同的类,所以需要用python自动生成.由于会产生大量的类,而且这些类是变化的.所以如果是在某个.h中要用include来加载这些 ...
随机推荐
- Python中文
在python中有两种默认的字符串:str和unicode.在Python中一定要注意区分"Unicode字符串"和"Unicode对象"的区别. 后面所有的& ...
- flex词法解析
例子1.从标准输入的字数.单词.行数统计 %{ #include <string.h> int chars = 0; int lines = 0; int words = 0; %} %% ...
- PHP Xdebug安装及配置
1.首先在官方网站下载dll文件; Xdebug官方网站 2.将php_xdebug.dll文件放入php/ext文件夹下; 3.编辑php.ini,在文件最后加入如下代码: ; Xdebug zen ...
- 用JavaScript实现表格编辑器
实现效果: htm l代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- 魔方NewLife.Cube升级v2.0
魔方是一套集成权限管理的MVC管理后台,最具特色功能是模版覆盖机制,是XCode实体类的最佳搭档! v2.0.2017.1126 借助Ajax支持高级操作,如:删除选中.批量启用禁用等 用户管理增 ...
- ASP.NET Core教程【二】从保存数据看特有属性与服务端验证
前文索引: 在layout.cshtml文件中,我们可以看到如下代码: <a asp-page="/Index" class="navbar-brand" ...
- Less合并
合并是LESS的一个特性,它允许通过指定的语法来为某个属性添加使用逗号或空格分隔的值的列表.对于文本阴影.盒阴影.背景.变换等允许使用值的列表的属性,合并非常有用. 合并的语法,就是在属性名称和冒号之 ...
- TCP/IP协议栈 --- 网络层(IP 首部 和分片)
IP 是TCP/IP协议栈中重要的层次, TCP UDP ICMP IGMP都是依赖IP层进行传输的.首先它是一种不可靠,无连接的协议.不可靠:它不保证IP包能正确到达目的地,无连接:表示IP并不会维 ...
- pku 1401 Factorial 算数基本定理 && 51nod 1003 阶乘后面0的数量
链接:http://poj.org/problem?id=1401 题意:计算N!的末尾0的个数 思路:算数基本定理 有0,分解为2*5,寻找2*5的对数,2的因子个数大于5,转化为寻找因子5的个数. ...
- zzuli 1812: sort 排序
1812: sort Time Limit: 1 Sec Memory Limit: 128 MB Submit: 352 Solved: 216 SubmitStatusWeb Board De ...