Python入门教程-1-简介

课程说明

廖雪峰Python3教程Python3.5官方文档 的基础上选取部分内容进行适当讲解,预计每节课10~20分钟左右,只是进行一个简单入门讲解,所以每个小节最后附上讲解内容对应章节的链接,各位同学可在课后进行深入的学习。

Python简介

Python是由荷兰人Guido van Rossum (“龟叔”)于1989年圣诞节期间,为了打发时间而编写。Python这个名字取自作者很喜欢的BBC电视剧"Monty Python’s Flying Circus"。

Python是在另一种编程语言 ABC 的基础上发展而来,ABC是“龟叔”参与设计的一种教学语言,他认为ABC非常优美和强大,但是并没有取得成功,他认为是没有开放造成的,所以Python进行了开源。Python还结合了很多C语言的使用习惯,比如Python中的open函数和C语言的open函数非常类似,Python里同样也有文件描述符等概念。

Python是一种 解释型面向对象 的语言,相比较而言C则是 编译型面向过程 的语言。

解释型语言使用解释器在运行期间动态的逐条将语句解释为计算机可识别的机器代码,编译型语言需要提前把源代码编译为机器代码,然后运行。

解释型语言相比编译型语言的主要缺点是运行速度慢,但是由于很多的应用不需要追求很高的性能,所以使用解释型语言已经完全满足运行速度的要求。

解释型语言相比编译型语言的主要优点是开发速度快,因为开发过程中可以不用编译就立即运行而得到反馈,另外像Python这样的高级语言做了更高程度的抽象和封装,并且把很多常用操作封装为了标准库,所以在代码量上会比C语言少很多。而且Python可以使用即时编译(JIT)技术提高运行速度

面向对象和面向过程语言的主要区别是面向对象可以定义类(class),而面向过程语言只能定义函数,Python既支持面向过程,也支持面向对象。关于面向对象和面向过程的更多区别请点击对应的链接进行深入了解。

Python应用

近些年来Python越来越火,应用也越来越广泛,根据编程语言排行榜 TIOBE 2020年2月最新的数据显示,目前Python的流行程度排行第3,居于Java和C之后。

很多我们所熟知的网站也是使用Python开发,比如国外的Youtube、Instgram,国内的知乎、豆瓣,还有像Google、Yahoo这样的大公司内部都在大量的使用Python。

Python在人工智能领域也非常流行,很多人工智能框架都选择使用Python语言,比如大名鼎鼎的Google人工智能框架TensorFlow就支持Python。

另外Python在自动化测试方面也是应用广泛,比如开源的自动化测试框架RobotFramework就是使用Python编写的,很多公司在自己开发自动化测试框架时也大多选择使用Python,比如华为就是在大量的使用Python来进行自动化测试。

由于Python简单、易学、易用的特点,所以在非编程相关的工作上也可以使用,比如日常办公中需要在大量的文本文件中搜索并替换某些内容,或者需要批量的整理操作大量文件,这个时候可以使用Python快速的编写一些小脚本来提升工作效率。相比shell或者bat等操作系统专用的脚本,Python的跨平台特性使得使用Python编写的脚本使用更方便。而且目前的大多数Linux发行版和OSX等系统上都内置了Python。

可以在Python官网 https://www.python.org/about/apps/ 上看到Python的很多应用列表。

Python版本

Python自诞生以来经历了2个主要的大版本,一个是发布于2000年的Python2,另一个是发布于2008年的Python3。Python3相比Python2由了很大的变更,所以Python2下编写的代码是不能直接在Python3上运行的。而且官方已经于2020.1.1停止了对Python2的维护,也就是说如果Python2出现了重大漏洞也不会再有更新的修复版本发布了,所以建议如果是新写的项目都使用Python3。

如果由老的Python2的应用需要迁移到Python3,可以参考官方迁移指南:https://docs.python.org/3/howto/pyporting.html
更多关于Python2和Python3的区别可以参考:http://python-future.org/compatible_idioms.html

Python解释器

通常我们说Python是用C语言编写的,是因为官方下载的解释器CPython是使用C语言编写的,其实除了CPython之外还有很多其他的解释器。

以下内容引用自:https://www.liaoxuefeng.com/wiki/1016959663602400/1016966024263840

IPython
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

PyPy
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。

Jython
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

IronPython
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

Python编辑器(IDE)

由很多的编辑器支持编写和调试Python程序,以下列出几个比较流行的,可以根据个人喜好进行选择:

  • IDLE:这个Python官方的IDE,Windows上安装Python后就会有,功能较简单,可以用于学习和测试一些语法。
  • PyCharm:这个是由JetBrains开发的Python IDE,功能强大,有专业版和社区版,个人使用可以选择免费的社区版。
  • VSCode:这个是微软的Visual Studio的精简版,开源且支持大量的插件,通过安装Python插件可以用于Python开发。
  • Vim:如果是Linux下也可以使用这Vim加一些插件进行Python开发。

引用资料

  1. [Python简介]:https://www.liaoxuefeng.com/wiki/1016959663602400/1016959735620448
  2. [Whetting Your Appetite]:https://docs.python.org/3.5/tutorial/appetite.html
  3. [Python-wikipedia]:https://zh.wikipedia.org/wiki/Python#cite_note-python_history-3
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容