快捷搜索:  汽车  科技

python的入门基础知识(从零开始学python系列-python简介)

python的入门基础知识(从零开始学python系列-python简介)其次,做为刚刚开始学习python的朋友,可千万别认为python就是一个随随便便就做出来的东西,人家也是站在巨人的肩膀上的。 首先,必须承认,这个哥们儿是一个牛人,非常牛的人。此处献上我的崇拜。 一、Python的历史 Python的创始人为吉多·范罗苏姆(Guido van Rossum)。关于这个人开发这种语言的过程,很多资料里面都要记录下面的故事:1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中Python作为程序的名字,是因为他是一个蒙提·派森的飞行马戏团的爱好者。ABC是由吉多参加设计的一种教学语言。就吉多本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在Python中避免这一错误,并取得了非常好的效果,完美

原文链接:https://mp.weixin.qq.com/s/7-InX7j1Vj6xQkuDE6TvPw

写在最前:

本人算法工程师一枚,目前就职百度公司。3年前开始接触Python, 从此一发不可收拾,一直用到现在,期间总结了很多在项目中应用python的经验。了解到周围很多人开始学习python,突然有这样的想法,为什么不把自己的一些经验分享出来呢,或许可以帮助到他们,另外自己也想借着这样的机会再系统的学习一遍python。于是有了这样系列文章的分享,记录系统学习python的过程以及结合实际项目分享一些经验,大家共勉!

In the begning when God created the heavens and the earth. the earth was a formless void and darkness covered the face of the deep while a wind from God swept over the face of the waters. Then God said "Let there be light"; and there was light. And God saw that the light was good; and God separated the light from the darkness. (GENESIS 1:1-4)

一、Python的历史

python的入门基础知识(从零开始学python系列-python简介)(1)

Python的创始人为吉多·范罗苏姆(Guido van Rossum)。关于这个人开发这种语言的过程,很多资料里面都要记录下面的故事:1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中Python作为程序的名字,是因为他是一个蒙提·派森的飞行马戏团的爱好者。ABC是由吉多参加设计的一种教学语言。就吉多本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在Python中避免这一错误,并取得了非常好的效果,完美结合了C和其他一些语言。这个故事我是从维基百科里面直接复制过来的,很多讲python历史的资料里面,也都转载这段。

首先,必须承认,这个哥们儿是一个牛人,非常牛的人。此处献上我的崇拜。

其次,做为刚刚开始学习python的朋友,可千万别认为python就是一个随随便便就做出来的东西,人家也是站在巨人的肩膀上的。

另外,牛人在成功之后,往往把奋斗的过程描绘的比较简单,或者是谦虚?或者是让人听起来他更牛?反正,我们看最后结果的时候,很难感受过程中的酸甜苦辣。不管怎么样,牛人在那时刻开始创立了python,而且,他更牛的在于具有现代化的思维:开放。通过Python社区,吸引来自世界各地的开发者,参与python的建设。在这里,请读者一定要联想到Linux和它的创始人芬兰人林纳斯·托瓦兹。两者都秉承“开放”思想,得到了来自世界各地开发者和应用者的欢呼和尊敬。

二、Python的特点

Python之所以与众不同,还在于它强调一种哲学理念,Python的设计哲学是“优雅”、“明确”、“简单”。

Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事。在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确没有或者很少有歧义的语法。由于这种设计观念的差异,Python源代码通常具备更好的可读性,并且能够支撑大规模的软件开发。这些准则被称为Python格言。

##The Zen of Python

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也不例外。

第一个缺点就是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。但是大量的应用程序不需要这么快的运行速度,因为用户根本感觉不出来。例如开发一个下载MP3的网络应用程序,C程序的运行时间需要0.001秒,而Python程序的运行时间需要0.1秒,慢了100倍,但由于网络更慢,需要等待1秒,你想,用户能感觉到1.001秒和1.1秒的区别吗?这就好比F1赛车和普通的出租车在北京三环路上行驶的道理一样,虽然F1赛车理论时速高达400公里,但由于三环路堵车的时速只有20公里,因此,作为乘客,你感觉的时速永远是20公里。

python的入门基础知识(从零开始学python系列-python简介)(2)

第二个缺点就是代码不能加密。如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。

这个缺点仅限于你要编写的软件需要卖给别人挣钱的时候。好消息是目前的互联网时代,靠卖软件授权的商业模式越来越少了,靠网站和移动应用卖服务的模式越来越多了,后一种模式不需要把源码给别人。

再说了,现在如火如荼的开源运动和互联网自由开放的精神是一致的,互联网上有无数非常优秀的像Linux一样的开源代码,我们千万不要高估自己写的代码真的有非常大的“商业价值”。那些大公司的代码不愿意开放的更重要的原因是代码写得太烂了,一旦开源,就没人敢用他们的产品了。

python的入门基础知识(从零开始学python系列-python简介)(3)

今天在公众号中看到好多文章提到潘石屹的python考试成绩单,潘石屹在微博晒出了自己的第一张Python考试成绩单,“通过NTC全国青少年编程能力等级测试(Python编程一段)”,还取得了99分的优秀成绩!

去年11月15日的时候,年过半百的SOHO中国董事长潘石屹突然在微博上宣布,要正式开始学习Python,并表示,“Python是进化最好的一种语言”。

python的入门基础知识(从零开始学python系列-python简介)(4)

56岁的潘石屹报名考试,完全重新定义了青少年这个词。

用Python开发领域流传着这样一句话做结尾吧:Life is short,you need Python。

引用:

https://legacy.python.org/dev/peps/pep-0020/

https://docs.pythontab.com/learnpython/

https://www.cnblogs.com/dyxcrazy/p/10508735.html

https://www.liaoxuefeng.com/wiki/1016959663602400/1016959735620448

猜您喜欢: