一 引子
基于上一章所学,有了计算机硬件,再在硬件之上安装好操作系统,我们就有了一个应用程序的运行平台,我们接下来的任务就是学习如何使用某款编程语言来开发应用程序。
本章的主题是先带大家了解下编程语言,然后重点介绍python这门编程语言
插图:恶搞图01
二 编程语言分类:
2.1 机器语言
机器语言是站在计算机(奴隶)的角度,说计算机能听懂/理解的语言,而计算机能直接理解的就是二进制指令,所以机器语言就是直接用二进制编程,这意味着机器语言是直接操作硬件的,因此机器语言属于低级语言,此处的低级指的是底层、贴近计算机硬件(贴近代指需要详细了解计算机硬件细节、直接控制硬件),详解如下
总结机器语言
插图:恶搞图02
2.2 汇编语言
汇编语言仅仅是用一个英文标签代表一组二进制指令,毫无疑问,比起机器语言,汇编语言是一种进步,但汇编语言的本质仍然是直接操作硬件,因此汇编语言仍是比较低级/底层的语言、贴近计算机硬件
插图:恶搞图03
总结汇编语言:
2.3 高级语言
高级语言是站在人(奴隶主)的角度,说人话,即用人类的字符去编写程序,而人类的字符是在向操作系统发送指令,而非直接操作硬件,所以高级语言是与操作系统打交道的,此处的高级指的是高层、开发者无需考虑硬件细节,因而开发效率可以得到极大的提升,但正因为高级语言离硬件较远,更贴近人类语言,人类可以理解,而计算机则需要通过翻译才能理解,所以执行效率会低于低级语言。
按照翻译的方式的不同,高级语言又分为两种:
2.3.1 编译型(如C语言):
类似谷歌翻译,是把程序所有代码编译成计算机能识别的二进制指令,之后操作系统会拿着编译好的二进制指令直接操作硬件,详细如下
2.3.2 解释型(如python):
类似同声翻译,需要有一个解释器,解释器会读取程序代码,一边翻译一边执行,详细如下
ps:混合型语言
2.4 总结
综上选择不同编程语言来开发应用程序对比
由于我们开发是应用程序,而应用程序必须运行于某一个平台之上,应用程序的快慢受限于平台(就好比F1赛车与宝马车同时跑在北京五环高速,都受限于道路环境,车速是差不多的)的快慢,并不是单从语言层面就可以提升整体执行效率的,于是开发效率、跨平台性才是我们需要优先考虑的问题,这就是我们首选python的原因
插图:恶搞图04
三 python介绍
谈及python,涉及两层意思,一层代表的是python这门语言的语法风格,另外一层代表的则是专门用来解释该语法风格的应用程序:python解释器。
python的创始人为吉多·范罗苏姆(Guido van Rossum)。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus,他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,语法能够像shell一样简洁,易学易用、可拓展性强,同时兼顾C的强大功能。于是Guido在1989年的圣诞节期间,开始编写能够解释Python语言语法的解释器。
Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。最新的TIOBE排行榜https://www.tiobe.com/tiobe-index/,Python已飙升至世界第三。
Python可以应用于众多领域,如:人工智能、数据分析、爬虫、金融量化、云计算、WEB开发、自动化运维/测试、游戏开发、网络服务、图像处理等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。
插图:恶搞图05
3.1 Python解释器的发展史
1989年,Guido开始写Python语言的编译器。
1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
Granddaddy of Python web frameworks, Zope 1 was released in 1999
Python 1.0 – January 1994 增加了 lambda, map, filter and reduce.
Python 2.0 – October 16, 2000,加入了内存回收机制,构成了现在Python语言框架的基础
Python 2.4 – November 30, 2004, 同年目前最流行的WEB框架Django 诞生
Python 2.5 – September 19, 2006
Python 2.6 – October 1, 2008
Python 2.7 – July 3, 2010
In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible
Python 3.0 – December 3, 2008 (细心的读者会发现,08年时就推出了3.0,2010年反而又推出了2.7?是因为3.0不向下兼容2.0,而很多公司已经基于2.0版本开发出了大量程序,公司已然投入了大量的人财物力,这就导致大家都拒绝升级3.0,无奈官方只能推出2.7过渡版本,之后我们都应该采用3.0解释器开发程序,但为了方便读者维护2.0版本的软件,我们在遇到两种版本的差异时会专门指出来)
Python 3.1 – June 27, 2009
Python 3.2 – February 20, 2011
Python 3.3 – September 29, 2012
Python 3.4 – March 16, 2014
Python 3.5 – September 13, 2015
Python 3.6 – 2016-12-23 发布python3.6.0版
分支版本 | 发布计划 | 维护状态 | 首个正式版本 | 终止更新 |
---|---|---|---|---|
3.10 | PEP 619 | bugfix | 2021-10-04 | 2026-10 |
3.9 | PEP 596 | security | 2020-10-05 | 2025-10 |
3.8 | PEP 569 | security | 2019-10-14 | 2024-10 |
3.7 | PEP 537 | security | 2018-06-27 | 2023-06-27 |
3.6 | PEP 494 | security | 2016-12-23 | 2021-12-23 |
3.5 | PEP 478 | security | 2015-09-13 | 2020-09-13 |
2.7 | PEP 373 | end-of-life | 2010-07-03 | 2020-04-20 |
更多详见官网:https://www.python.org/downloads/
在这里解释一下Python的几种维护状态:
处于bugfix状态,一段时候后可以尝试在生产环境当中使用(后果自行承担)
如果你对稳定性要求很是高,那么则应该维护状态为security的版本便可,由于除非遇到安全性的问题,它们几乎不会再进行更新了,因此使用起来会更更更稳
点击查看:
python3.8新特性
python3.9新特性
3.2 Python解释器有哪些种类?
官方的Python解释器本质就是基于C语言开发的一个软件,该软件的功能就是读取以.py结尾的文件内容,然后按照Guido定义好的语法和规则去翻译并执行相应的代码。这种用C实现的解释器称为CPython,它是python领域性能最好,应用最广泛的一款解释器,我们在后面提到的解释器指的都是Cpython解释器。但其实解释器作为一款应用软件,完全可以采用其他语言来开发,只要能解释python这门语言的语法即可。Python解释器的一些种类如下,简单了解即可
插图:恶搞图06
四 安装Cpython解释器
Python解释器目前已支持所有主流操作系统,在Linux,Unix,Mac系统上自带Python解释器,在Windows系统上需要安装一下,具体步骤如下。
4.1、下载python解释器
打开官网 https://www.python.org,按提示下载即可
插图:下载解释器1
插图:下载解释器2
插图:下载解释器3
4.2、安装python解释器
插图:安装解释器1
插图:安装解释器2
插图:安装解释器3
4.3、测试安装是否成功
windows –> 运行 –> 输入cmd ,然后回车,弹出cmd程序,输入python,如果能进入交互环境 ,代表安装成功。
插图1:cmd检测安装1
插图1:cmd检测安装2
五 第一个python程序
5.1 运行python程序有两种方式
方式一: 交互式模式
插图:交互式环境测试
方式二:脚本文件
插图:脚本文件测试
总结:
5.2 注释
在正式学习python语法前,我们必须事先介绍一个非常重要的语法:注释
1、什么是注释
2、为什么要注释
3、怎么用注释?
插图:注释的使用
4、代码注释的原则:
六 IDE工具pycharm的使用
6.1、什么是IDE?为何要有IDE
在编写第一个python程序时,存在以下问题,严重影响开发效率
问题一:我们了解到一个python程序从开发到运行需要操作至少两个软件
问题二:在开发过程中,并没代码提示以及纠错功能
综上,如果能有一款工具能够集成n个软件的功能,同时又代码提示以及纠错等功能,那么将会极大地提升程序员的开发效率,这就是IDE的由来,IDE全称Integrated Development Environment,即集成开发环境,最好的开发Python程序的IDE就是PyCharm。
6.2、pychram安装
安装完成后注册,然后启动,会让你先创建一个项目,其实就是一个文件夹,我们以后的代码都存在这里面。
插图:Pycharm创建项目
6.3、Pycharm创建文件夹
创建文件夹是管理文件的良好方式
6.4、如何创建文件并编写程序执行
创建py文件test.py
在test.py中写代码,输入关键字的开头可以用tab键补全后续,并且会有代码的错误提示
插图:Pycharm执行文件