这是胜天半子的第1篇原创。

前言

也许你不是一名程序员,也许你甚至都不是做IT行业的,但你的定位只要不是被时代所抛弃的老年人,你,多多少少应该听过“Python”一词,多多少少看到过Python的广告,没错,今天我们就要深刻解读什么是Python。

01 出生

1989年的一天,一名荷兰名叫吉多·范罗苏姆(Guido van Rossum)的计算机程序员因为过圣诞节实在太过于无聊,就决定开发一个更好用、更简洁、更易懂的新的脚本解释程序,这个语言就叫Python。

一种跨平台、动态的、面对对象的计算机设计程序语言。

作者吉多就是下面这个人,一脸标准的欧美相,高鼻梁、黄头发、高鼻梁和一双深邃的眼神外加一脸“欧美胡”。

他于1982年从阿姆斯特丹大学取得了数学和计算机硕士学位,被称为Python之父。

最初呢,吉多呢是一名ABC语言的参加设计人员,在那个时代,ABC语言是非常优美和强大的,但是没火多久就被淘汰了。

原因很多方面,最大原因有二:

其一,是非开源造成的,

其二,就是这门语言只适合初级的非专业编程人员去学习和运用,且不跨平台。

ABC语言给了吉多很大影响和改变,应该说Python的爱好者应该感谢ABC语言。

因为ABC语言直接影响了吉多想要开发一门新语言的欲望,并且Python从ABC语言中继承了很多东西:比如字符串、列表和字节数列都支持索引、切片排序和拼接操作等等。

02 设计理念

作为Python的创始人吉多,当然希望自己开发的语言源远流长、广泛使用。

所以自下定决心创造Python的时候吉多目的就很明确。

1999年,吉多DARPA提交了一条名为”Computer Programming For Everybody”的资金申请,并在后来说明了他对Python的目标:

a.一门简单直观并与主要竞争者一样强大

b.开源,以便任何人都可以为它做贡献

c.代码像纯英语那样容易理解

d.适用于短期开发的日常任务

这些想法目前均已实现,并且完成了与想法超出实现甚至其他多维度的功能,Python已经成为一门主流必不可少的开发语言,在整个编程语言中,少不了它的一席之地。

关于Python开发者哲学一句话:用最简单易懂的方法来做事情。奉上Python的设计哲学!

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!

名称空间是一个非常好的主意——让我们做更多的工作吧!

03 发展史

Python一代于1991年1月问世,第一个解释器诞生了,其中很多语法来自于C语言,同时ABC语言又直接影响了Python,很多语法来自于ABC,甚至是过了近30年,Python依然有争议。

比如运行速度慢、多线程支持不理想等等。

最典型的是“强制缩进”,大多语言的代码都比较自由,即是:不管代码写在哪一行,只要必要的空格有留取,那么不管我缩进多少、空格多少都能正常运行。

但Python必须要强制缩进,若不,则报错停止运行,但是这并不能阻止散发Python语言的魅力。

Python具体发展史:

1991年:发布Python 1.0。此时Python已经有了类,函数,异常处理,包含表和词典在内的核心数据类型。

1991-1994年:Python增加了lambda,map,filter and reduce

1999年:Python的web框架之祖——Zope 1发布

2000年:加入了内存回收机制,构成了现在Python语言框架的基础

2004年:web框架 Django 诞生

2006年:Python 2.5

2008年:Python 2.6

2010年:Python 2.7

2008年:Python 3.0

2009年:Python 3.1

2011年:Python 3.2

2012年:Python 3.3

2014年:Python 3.4

2015年:Python 3.5

2016年:Python 3.6

2018年:Python 3.7

2019年:Python 3.8

2020年:Python 3.9

进入Python3.0时代,Python的社区在蓬勃发展,你遇到的所有关于Python的问题,几乎已经有人遇到过并且解决掉。

注意:目前Python2.x已经停止维护,也就意味着Python3.x不向后兼容Python2.x,更意味着你写的Python3.x的代码用Python2.x的解释器并不能解释,输出给你的是一堆的错误信息。

特别注意:Python2.x版本的解释器名称是「python」,Python3.x版本的解释器名称是「python3」,只有用对应Python版本解释器名称,才能正常解释运行对应的Python版本。

截止2021年1月1日,Python最新版本为v3.9,具体可到Python官方文档查阅&下载:https://www.python.org/downloads/

04 Python能干什么

说到编程语言,总有人认为只有专业的程序员才能学习的一个东西。但,Python很好的诠释了这个观点是错误的:

● 北京的小欣是一名国企的文员,每天加班加点赶稿子赶文档做表格。自从学了Python后,使用自动化办公,每天工作效率提升的不是一半两半。

● 上海的老张是一名金融证券工作者,常年混迹于各大股市中,但每周老板总让他整理提交客户的各大股票的涨停情况、市场行情、资源流向、增仓列表以及各大报表,每天忙到很晚。自动学了Python后,使用代码代替人工爬取、清洗、筛选、整理等复杂工作,不仅工作效率提高了不少,业绩也跟着提高。

● 广州的小郑是一名HR,每天总愁心与自己招聘的工作职位是给高了还是给低了,给高了老板不干,给低了招不来人,这份上下限心中没有一个确切的点,于是她学了Python爬取了BOSS、51、智联......等招聘网各大相关数据,并分析好最低、最高、中位、平均等值,然后定一个合理的价格给找工作者...

● 大潘是一名视觉算法工程师,他...当然不用多说,算法方面,Python必学。

上面随便举了几个例子,无论你做什么行业,只要接触电脑方面,都可以学...,当然你说我不想学Python我想学其他的编程语言,那也行,毕竟几百种编程语言,每种都有它的优势与劣势。下面正式的讲下Python到底能在哪些领域做哪些事情呢?

一、Web开发

无论你想开发属于个人的网站也好,还是企业网站也好,Python都能胜任。

但一般开发网站的话Python并不是特别主流。

比如金融类网站讲究最重要的一个点是安全,那么Java语言就胜任,再比如更多的是关于底层交互的C语言就更胜任,在比如关于游戏方面C++语言就更胜任。

二、爬虫

互联网中什么最重要?有人说是技术,有人说是产品,错!是数据。

拥有数据就拥有基础,然后才有技术、产品....等等。通俗一点爬虫就是网上数据那么多,我通过敲代码的方式得到我想要的数据,这个过程就是爬虫。

三、数据分析

顾名思义,数据分析。

通过数据用科学计算的方式来证明对应事物的行为特征。数据分析的前提是有数据。

四、机器学习

机器学习是人工智能的一个方面、一个分支领域,这个领域Python编程比不可少。

五、APP开发

你没看错,Python 可以开发OS X,Linux,Windows,iOS,Android 等平台的应用。

如过你感兴趣你完全可以开发一个属于自己的APP然后上架。

六、游戏开发

对于喜欢玩游戏的小伙伴是不是很惊喜呢?

七、自动化脚本

那些频繁的、重复的、简单的操作都可以用自动化程序去解决。别人一个一个的执行,你倒行,直接一键干倒,提前下班。

Python能做那么多事?是的!那么Python完美吗?并不完美。

世界上有几百种编程语言,但常用的也就三四十种,每种编程语言都各有千秋。Python的优点:上手容易、简洁易懂、代码量少、面对对象、支持继承/重载、可移植性/可拓展性等等。

但你知道Python的缺点吗?

1、运行速度比其他主流语言都要慢。比如编程界的杠把子Java,老大哥C,C++,后起之秀GO等等都比他们慢,具体原因也跟Python的设计结构有必然的关系,比如Python中造变量不需要指定type,但其他主流语言需要指定type。

2、国内市场并不是很普及,且中文资料匮乏。

3、源代码加密困难:其他编译型语言的源程序会被编译成目标程序,Python 直接运行源程序,因此对源代码加密比较困难,所以涉及安全类的比如金融项目一般不会考虑Python。

4、多并发支持并不是很好。

5、最后一点大多新手都不知道, 人人都知道Python上手入门容易,但Python进阶、高级比较难学易懂。

05 后记

学编程前期是一件很痛苦、折磨人、掉头的事,慢慢的你就会越来越享受里面的乐趣。

像臭豆腐一样,第一次见到它,哎呀妈呀这啥玩意,那么臭!吃了后:真香!

当然学编程之前一定要考虑好选择哪门语言,比如我当时还是个特别小白的时候,一直在犹豫学Python好还是学Java好。

可以根据自身的特点、市场的需求、薪资的高低、未来的趋势等理性选择。

这个世界上有两种人,一种是快乐的猪,一种是痛苦的人,做痛苦的人,不做快乐的猪。---苏格拉底

python的设计理念和应用_菜鸟爱Python第1期:Python发展史?对Python最深刻的解读...相关推荐

  1. python wx窗口无法关闭_菜鸟学Python,双手奉上老司机给上路新手总结的Python实战问题…...

    针对Python这一话题每天后台都会有不少小伙伴提出问题,下面我就将这些问题进行汇整,产出"Python实战问题篇",我认为这些问题非常具有代表性,希望可以帮到大家. 第一类问题: ...

  2. 菜鸟学python小助手不能添加_菜鸟学Python 安装教程和常见问题

    Anaconda 安装链接及教程 (强烈建议把此文档看到最后再下手装!!) 一.什么是 python python 是一门解释性语言,语法简单,有大量的扩展包,如处理图像,爬取网页等等.(需安装 py ...

  3. 32岁了学python来的及吗_为什么每个人都应该在2020年学习Python?

    如今每个人都在谈论 Python,包括那些曾经对 Python 嗤之以鼻的人.本文作者 Javinpaul 原是一名 Java 狂热粉,他以前还曾号召大家学习 Java 而不是 Python.如今他的 ...

  4. python做erp系统教程_“python2.7教程廖雪峰“刚开始学openERP Python,如何快速入门?...

    为什么廖雪峰的JS教程不如Python 教程 娃娃哈 廖雪峰python教程在哪 这是他的网址:www.liaoxuefeng.com 这是python专有python2.7,python3,可供选择 ...

  5. python好用的软件_【分享|10款超好用的辅助Python的软件,初学者请查收!】- 环球网校...

    [摘要]在这个科学技术高速发展的时代,越来越多的人都开始选择学习编程软件,那么首先被大家选择的编程软件就是python,也用在各行各业之中,并被大家所熟知,所以也有越来越多的python学习者关注Py ...

  6. python print end报错_下面代码的输出结果是 for i in Python: print(i,end= )_学小易找答案...

    [单选题]关于Python字符串,以下选项中描述错误的是 [单选题]以下程序的输出结果是: lcat =["狮子","猎豹","虎猫",&q ...

  7. is在python中是什么意思_【IT专家】关键字:is和=在python中有什么区别

    本文由我司收集整编,推荐下载,如有疑问,请与我司联系 关键字: is 和 = 在 python 中有什么区别 关键字: is 和 = 在 python 中有什么区别 [ 英 ]What is the ...

  8. python调用有道词典_菜鸟上手Python最有野心的库Asyncio

    Asyncio是Python中非常牛逼的一个异步并发库,比较复杂不太好理解!从Py3.4之后开始加入这个内置并发库,一举解决了Python中高并发的问题.它提供了一整套异步IO模型的编程接口,可以说它 ...

  9. python随手记自动记账_菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记

    原标题:菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记 每个月都有各种各样的开销,不当家不知道柴米贵呀!柴米油盐酱醋茶样样都要开销,吃的穿的,各种开销,每个月都没有啥结余,小编月初是富人,月底 ...

最新文章

  1. Xamarin.FormsShell基础教程(8)Shell的模版构成
  2. Vijos P1131 最小公倍数和最大公约数问题【暴力】
  3. python做出来的东西_【python小白】 做了一个爬虫,但是爬出来的东西无法存储...
  4. .net2.0 orm_Java 8:深入研究速度3.0.1“森林”流ORM
  5. 《JQuery 能干点啥~》第7讲 层级选择器_2
  6. python所有软件-一款Python黑客打造的勒索软件,让所有国产杀毒软件升起无力感!...
  7. allergro音乐术语什么意思_「8D音乐」里的 8 是什么意思?
  8. Python——语言基础
  9. js-ES6学习笔记-Class(6)
  10. 微信支付v2开发(6) 发货通知
  11. 航班预定系统java源代码_飞机订票系统源代码(Java)
  12. 用matlab求众数,Matlab求方差,均值,均方差,协方差的函数
  13. php批量打印页面,SETE批量打印
  14. 如何用Matlab求不定积分
  15. CF888G - Xor-MST(顺带学习Borůvka算法)
  16. 3500字干货!精准解决3大难题,助力服装行业数字化转型
  17. Android之UVC调试
  18. 梅尔频谱和梅尔倒谱的初次理解和使用
  19. 5G/NR, 3GPP 38.215: SS-RSRP, CSI-RSRP
  20. creator 面试

热门文章

  1. python之去阴影部分
  2. 终于搞懂Vue开发环境和生产环境的代理配置了
  3. 【收藏】值得领悟的小故事34个
  4. 为什么近期涌现了一批解谜游戏?
  5. 递归方程的求解(代入、递归树和主方法)
  6. Labview+STM32无线温湿度采集
  7. 微信小程序@tap与@click的区别
  8. 编译原理实验三:对完整程序进行词法分析并输出对应的二元组
  9. 物理知识相关内容总结
  10. 摄像头基础知识(三):HDR