《Python从小白到大牛》第1章 开篇综述
《Python从小白到大牛》已经上市!
Python诞生到现在已经有20多年了,但是Python仍然是非常热门的编程语言之一,很多平台中使用Python开发。表1-1所示的是TIOBE社区发布的2017年3月和2018年3月的编程语言排行榜,可见Python语言的热度,或许这也是很多人选择学习Python的主要原因。
Python语言历史
Python之父荷兰人吉多 范·罗苏姆(Guido van
Rossum)在1989年圣诞节期间,在阿姆斯特丹,为了打发圣诞节的无聊时间,决心开发一门解释程序语言。1991年第一个Python解释器公开版发布,它是用C语言编写实现的,并能够调用C语言的库文件。Python一诞生就已经具有了类、函数和异常处理等内容,包含字典、列表等核心数据结构,以及模块为基础的拓展系统。
2000年Python 2.0发布,Python 2
的最后一个版本是2.7,它还会存在较长的一段时间,Python
2.7支持时间延长到2020年。2008年Python 3.0发布,到本书编写时Python
3.6发布,注意本书编写是基于Python 3.6版本。Python 3与Python
2是不兼容的,由于很多Python程序和库都是基于Python 2的,所以Python 2和Python
3程序会长期并存的,不过Python
3的新功能吸引了很多开发人员,很多开发人员正从Python 2升级到Python
3。作为初学者如果学习Python应该从Python 3开始。
Python单词翻译“蟒蛇”,想到这种动物不会有很愉快的感觉。那为什么这种新语言取名为Python呢?那是因为吉多喜欢看英国电视秀节目蒙提·派森的飞行马戏团(Monty
Python’s Flying Circus),于是他将这种新语言起名为Python。
Python语言设计哲学——Python之禅
Python语言有它的设计理念和哲学,称为“Python之禅”。
Python之禅是Python的灵魂,理解Python之禅能帮开发人员编写出优秀的Python程序。在Python交互式方式运行工具IDLE中输入import
this命令,如图1-1所示显示内容就是Python之禅。
Python之禅翻译解释如下:
Python之禅 by Tim Peters
优美胜于丑陋
明了胜于晦涩
简洁胜于复杂
复杂胜于凌乱
扁平胜于嵌套
宽松胜于紧凑
可读性很重要
即便是特例,也不可违背这些规则
不要捕获所有错误,除非你确定需要这样做
如果存在多种可能,不要猜测
通常只有唯一一种是最佳的解决方案
虽然这并不容易,因为你不是Python之父
做比不做要好,但不假思索就动手还不如不做
如果你的方案很难懂,那肯定不是一个好方案,反之亦然
命名空间非常有用,应当多加利用
Python语言特点
Python语言能够流行起来,并长久不衰,得益于Python语言有很多优秀的关键特点。这些特点如下:
- 简单易学
Python设计目标之一就是能够方便学习,使用简单。它使你能够专注于解决问题而不是过多关注语言本身。
- 面向对象
Python支持面向对象的编程。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。
- 解释性
Python是解释执行的,即Python程序不需要编译成二进制代码,可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成为中间字节码形式,然后再把它解释为计算机使用的机器语言并执行。
- 免费开源
Python是免费开放源码软件之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。
- 可移植性
Python解释器已经被移植在许多平台上,Python程序无需修改就可以在多个平台上运行。
- 胶水语言
Python被称为胶水语言,所谓胶水语言是用来连接其他语言编写的软件组件或模块。Python能够称为胶水语言是因为标准版本Python是用C编译的,称为CPython。所以Python可以调用C语言,借助于C接口Python几乎可以驱动所有已知的软件。
- 丰富的库
Python标准库(官方提供的)种类繁多,它可以帮助处理各种工作,这些库不需要安装直接可以使用。除了标准库以外,还有许多其他高质量的库可以使用。
- 规范的代码
Python采用强制缩进的方式使得代码具有极佳的可读性。
- 支持函数式编程
虽然Python并不是一种单纯的函数式编程,但是也提供了函数式编程的支持,如函数类型、Lambda表达式、高阶函数和匿名函数等。
- 动态类型
Python是动态类型语言,它不会检查数据类型,在变量声明是不需要指定数据类型。
Python语言应用前景
Python与Java语言一样,都是高级语言,他们不能直接访问硬件,也不能编译为本地代码运行。除此之外,Python几乎可以做任何事情。下面是Python语言主要的应用前景:
- 桌面应用开发
Python语言可以开发传统的桌面应用程序,Tkinter、PyQt、PySide、wxPython和PyGTK等Python库可以快速开发桌面应用程序。
- Web应用开发
Python也经常被用于Web开发。很多网站是基于Python
Web开发的,如豆瓣、知乎和Dropbox等。很多成熟的Python
Web框架,如Django、Flask、Tornado
、Bottle和web2py等Web框架。可以帮助开发人员快速开发Web应用。
- 自动化运维
Python可以编写服务器运维自动化脚本。很多服务器采用Linux和UNIX系统,以前很多运维人员编写系统管理Shell脚本实现运维工作。而现在使用Python编写系统管理,在可读性、性能、代码可重性、可扩展性等几方面优于普通Shell脚本。
- 科学计算
Python语言也广泛地应用科学计算,NumPy、SciPy和Pandas是优秀的数值计算和科学计算库。
- 数据可视化
Python语言也可将复杂的数据通过图表展示出来,便于数据分析。Matplotlib库是优秀的可视化库。
- 网络爬虫
Python语言很早就用来编写网络爬虫。谷歌等搜索引擎公司大量地使用Python语言编写网络爬虫。从技术层面上讲Python语言有很多这方面的工具,urllib、Selenium和BeautifulSoup等。还可以网络爬虫框架scrapy。
- 人工智能
人工智能是现在非常火的一个方向。Python广泛应用于深度学习、机器学习和自然语言处理等方向。由于Python语言的动态特点,很多人工智能框架是采用Python语言实现的。
- 大数据
大数据分析中涉及到的分布式计算、数据可视化、数据库操作等,Python中都有成熟库可以完成这些工作。Hadoop和Spark都可以直接使用Python编写计算逻辑。
- 游戏开发
Python可以直接调用Open
GL实现3D绘制,这是高性能游戏引擎的技术基础。所有很多Python语言实现的游戏引擎,如Pygame、Pyglet和Cocos2d等。
如何获得帮助
对于一个初学者必须要熟悉如下几个Python相关网址:
Python标准库:https://docs.python.org/3/library/index.html
Python HOWTO:https://docs.python.org/3/howto/index.html
Python教程:https://docs.python.org/3/tutorial/index.html
PEP规范1:https://www.python.org/dev/peps/
配套视频
https://edu.csdn.net/combo/detail/822
配套源代码
http://www.zhijieketang.com/group/8
电子书
https://yuedu.baidu.com/ebook/5823871e59fafab069dc5022aaea998fcc2240fc
作者微博:@tony_关东升
邮箱:eorient@sina.com
智捷课堂微信公共号:zhijieketang
Python读者服务QQ群:628808216
PEP是Python Enhancement
Proposals的缩写。PEP是为Python社区提供各种增强功能的技术规格说明书,也是提交新特性,以便让社区指出问题,精确化技术文档的提案。 ↩︎
《Python从小白到大牛》第1章 开篇综述相关推荐
- 《Python从小白到大牛》第4章 Python语法基础
<Python从小白到大牛>已经上市! 本章主要为大家介绍Python的一些语法,其中包括标识符.关键字.常量.变量.表达式.语句.注释.模块和包等内容. 标识符和关键字 任何一种计算机语 ...
- 《Python从小白到大牛》第6章 数据类型
<Python从小白到大牛>已经上市! 在声明变量时会用到数据类型,在前面已经用到一些数据类型,例如整数和字符串等.在Python中所有的数据类型都是类,每一个变量都是类的"实例 ...
- 《Python从小白到大牛》第7章 运算符
<Python从小白到大牛>已经上市! 本章为大家介绍Python语言中一些主要的运算符(也称操作符),包括算术运算符.关系运算符.逻辑运算符.位运算符和其他运算符. 算术运算符 Pyth ...
- 《Python从小白到大牛》第5章 Python编码规范
<Python从小白到大牛>已经上市! 俗话说:"没有规矩不成方圆".编程工作往往都是一个团队协同进行,因而一致的编码规范非常有必要,这样写成的代码便于团队中的其他人员 ...
- 《Python从小白到大牛》简介
<Python从小白到大牛>已经上市! 本书是一部系统论述Python编程语言.OOP编程思想以及函数式编程思想的立体化教程(含纸质图书.电子书.教学课件.源代码与视频教程).为便于读者高 ...
- python从小白到大牛百度云盘_Python从小白到大牛
<Python从小白到大牛>是一部系统论述 Python编程语言. OOP编程思想以及函数式编程思想的立体化教程(含图书.答疑服务.教学课件.源代码及视频教程). <Python从小 ...
- 买《Python从小白到大牛》专题视频课程,送配套纸质图书
经过一年多时间的呕心沥血,Python立体化图书--<Python从小白到大牛>即将与大家见面了.所谓立体化图书包括:电子图书.视频.课件和服务等内容. 该书是PyCharm厂家JetBr ...
- 《Python从小白到大牛》第2篇 开发环境搭建
<Python从小白到大牛>已经上市! 开发环境搭建 <论语•魏灵公>曰:"工欲善其事,必先利其器",做好一件事,准备工作非常重要.在开始学习Python技 ...
- python视频课程推荐-《Python从小白到大牛》全集视频课程介绍
python全集.jpg 本视频课程是<Python从小白到大牛>图书配套视频.视频课程共分为8部分: 第1部分Python基础: Python语言历史,Python语言的特点,开发环境的 ...
最新文章
- 查找 framework 文件中是否包含 WKWebView
- python 安装nameerror_python NameError:name’file’未定义
- redis client 2.0.0 pipeline 的list的rpop bug
- Linux内核BPF学习1
- ctype.h(cctype) 头文件函数大全
- 过滤设置_深圳外置鱼池过滤器零售_杰蒙尼鱼池过滤器
- 纯java分布式内存数据库_最新Java岗面试清单:分布式+Dubbo+线程+Redis+数据库+JVM+并发...
- 删除StringBuilder的最后一个字符?
- 轻度体验威马Living Pilot智行辅助系统:前期刺激,后期依赖
- 风险评估在公路安全生命防护工程中的应用
- 网站页面设计的原则有哪些呢?
- js实现鼠标移动到div背景颜色变换,移开还原
- Android BitmapShader实现圆形和圆角图片
- 从Outlook到python都可以使您的工作减少一半
- 关于insert和periodic的问题
- NDB和InnoDB存储引擎比较
- 【Python】简单判定身份证是否合法、性别
- 常见英文语法错误案例分享
- 为什么局域网 IP 通常以 192.168 开头而不是 1.2 或者 193.169 ?
- vue中PC端使用高德地图 -- 实现搜索定位、地址标记、弹窗显示定位详情
热门文章
- 2016一周年点滴收获总结——遇见Elixir
- BUAA OO 第三单元 规格化设计
- Unity解析gif动态图
- 国内舆情监测系统,国内舆情监测通过什么技术实现
- 银行离岸汇款客户交易预测
- python携带cookie登陆
- 骷髅机器人素描图片大全_人物肖像素描的自我修炼2
- 习题:有100个学生种100棵树,其中高中生每人种3棵树,初中生每人种1棵树,小学生每3人种1棵树,问高中生、初中生、小学生各有多少人?
- 用迭代法求x=根号a。求平方根的迭代公式为Xn+1 = 1/2(xn+(a/xn))
- 店铺创业选址的黄金法则