Python从入门到精通— 初识Python
Posted 脑壳二
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python从入门到精通— 初识Python相关的知识,希望对你有一定的参考价值。
Python从入门到精通— 初识Python
Python基础知识学习系列博客,持续更新
Python从入门到精通— 初识Python
1、Python简介
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆 于1990 年代初设计,作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。 [4] Python 也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。
  2021年10月,语言流行指数的编译器Tiobe将Python加冕为最受欢迎的编程语言,20年来首次将其置于Java、C和javascript之上。
Python是一种跨平台的、 开源的、 免费的、 解释型的高级编程语 言。 近几年Python发展势头迅猛, 2020年12月的TIOBE编程语言排行榜中已经晋升到第3名, 而在IEEE Spectrum发布的2020年度编程语言排行榜中, Python连续4年夺冠。 另外, Python的应用领域非常广泛, 如Web编程、 图形处理、 黑客编程、 大数据处理、 网络爬虫和科学计算等, Python都可以实现。作为Python开发的起步, 本章将先对学Python需要了解的一些基础内容进行简要介绍, 然后重点介绍如何搭建Python开发环境, 最后介绍常见的几种Python的开发工具。
2、认识"Python"
Python( 发音[ˈpaɪθ ən]) 本义是指 “蟒蛇”( 这里需要说明的是, Python并不是以蟒蛇命名, 而是以电视节目Monty Python’ s Flying Circus来命名的) , 标志如图1所示。 它的设计哲学为优雅、明确、 简单。 实际上, Python也是按照这个理念做的, 以至于现在网络上流传着“ 人生苦短, 我用Python” 的说法。 可见Python有着简单、 开发速度快、 节省时间和精力等特点。Python本身并非所有的特性和功能都集成到语言核心, 而是被设计为可扩充的。 它具有丰富和强大的库, 能够把用其他语言( 尤其是C/C++) 制作的各种模块很轻松地联结在一起。 为此, Python常被称为“ 胶水” 语言。在1991年Python的第一个公开发行版问世之后, Python的发展并不突出。 自从2004年以后, Python的使用率呈线性增长。 在2010年时,Python赢得TIOBE 2010年度语言大奖。 直到2020年, IEEE Spectrum发布的年度编程语言排行榜中, Python已经连续4年夺冠,
图1 Python标志
3、Python版本
Python自发布以来, 主要经历了3个版本, 分别是1994年发布的Python 1.0版本( 已过时) , 2000年发布的Python 2.0版本( 已停止更新) 和2008年发布的Python 3.0版本( 现在已更新到3.9.x) 。
当前, 有两个不同的Python版本: Python 2和较新的Python 3。 每种编程语言会随着新概念和新技术的推出而不断发展, Python的开发者也一直致力于丰富和强其功能。 大多数修改都是逐步进行的, 你几乎意识不到, 但如果你的系统安装的是Python 3, 那么有些使用Python 2编写的代码可能无法正确地运行。 在本书中,我将指出Python 2和Python 3的重大差别, 这样无论你安装的是哪个Python版本, 都能够按书中的说明去做。
如果你的系统安装了这两个版本, 请使用Python 3; 如果没有安装Python, 请安装Python 3; 如果只安装了Python 2, 也可直接使用它来编写代码, 但还是尽快升级到Python 3为好,因为这样你就能使用最新的Python版本了。
4、Python的功能
Python是一种功能强大, 并且简单易学的编程语言, 因而广受好评, 那么Python能做什么呢? 概括起来有以下几个方面。
1. Web开发
使用Python的一个基本应用就是进行Web开发。 在国内, 大一些的使用Python做基础设施的公司有豆瓣、 知乎、 美团、 饿了么, 以及搜狐等。 在国外, Google在其网络搜索系统中广泛应用了Python, 并且聘用了Python之父。
2. 人工智能
人工智能( artificial intelligence) , 英文缩写为AI。 Python之所以这么火, 主要是借助于人工智能的发展。 Python是一种脚本语言, 它更适合做人工智能领域, 因为在人工智能领域使用Python比其他编程语言具有更大的优势。 主要的优势在于, 它简单、 快速、 可扩展( 主要体现在可以应用多个优秀的人工智能框架) 等。 另外, Python中的机器学习可以实现人工智能领域中的大多数需求。
3. 大数据处理
随着近几年大数据的兴起, Python也得到了前所未有的爆发。Python借助第三方的大数据处理框架可以很容易地开发出大数据处理平台。 到目前为止, Python是金融分析、 量化交易领域里使用最多的语言之一。 例如, 美国银行就利用Python语言开发出了新产品和基础设施接口, 用于处理金融数据。
4. 自动化运维开发
掌握一种开发语言已经成为高级运维工程师的必备技能。 Python是一种简单、 易学的脚本语言, 它能满足绝大部分自动化运维的需求。 对于通常不会开发的运维工程师来说, 想学习一种开发语言, Python则是首选。
5. 云计算
Python可以广泛地在科学计算领域发挥独特的作用。 Python通过强大的支持模块可以在计算大型数据、 矢量分析、 神经网络等方面高效率地完成工作, 尤其是在教育科研方面, 可以发挥出独特的优势。 从1997年开始, NASA就在大量使用Python进行各种复杂的科学运算。 现在终于发明了一套云计算软件, 取名为OpenStack( 开放协议栈) , 并且对外公开发布。
6. 游戏开发
通过Python完全可以编写出非常棒的游戏程序, 例如, 知名的游戏《文明6》 就是用Python编写的。 另外, 在网络游戏开发中Python也有很多应用。 它作为游戏脚本被内嵌在游戏中, 这样做的好处是既可以利用游戏引擎的高性能, 又可以受益于脚本化开发等优点。
7. 网络爬虫
网络爬虫( 也称为spider) 始于也发展于百度、 谷歌。 但随着近几年大数据的兴起, 爬虫应用被提升到前所未有的高度。 多数分析挖掘公司都以爬虫的方式得到不同来源的数据集合, 最后为其所用, 进而构建属于自己的大数据综合平台。 在爬虫领域, Python几乎是霸主地位, 通过它提供的标准支持库基本上可以做到随意获取想要的数据。
5、Python语言优点
简单: Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
易学: Python极其容易上手,因为Python有极其简单的说明文档 。
易读、易维护: 风格清晰划一、强制缩进
用途广泛
速度快: Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。
免费、开源: Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
高层语言: 用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
可移植性: 由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台。
解释性: 一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。
面向对象: Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
高级动态编程: 虽然Python可能被粗略地分类为“脚本语言”(script language),但实际上一些大规模软件开发计划例如Zope、Mnet及BitTorrent Google也广泛地使用它。Python的支持者较喜欢称它为一种高级动态编程语言,原因是“脚本语言”泛指仅作简单程序设计任务的语言,如shellscript、VBScript等只能处理简单任务的编程语言,并不能与Python相提并论。
做科学计算优点多: 说起科学计算,首先会被提到的可能是MATLAB。除了MATLAB的一些专业性很强的工具箱还无法被替代之外,MATLAB的大部分常用功能都可以在Python世界中找到相应的扩展库。和MATLAB相比,用Python做科学计算有如下优点:
-
首先,MATLAB是一款商用软件,并且价格不菲。而Python完全免费,众多开源的科学计算库都提供了Python的调用接口。用户可以在任何计算机上免费安装Python及其绝大多数扩展库。
-
其次,与MATLAB相比,Python是一门更易学、更严谨的程序设计语言。它能让用户编写出更易读、易维护的代码。
-
最后,MATLAB主要专注于工程和科学计算。然而即使在计算领域,也经常会遇到文件管理、界面设计、网络通信等各种需求。而Python有着丰富的扩展库,可以轻易完成各种高级任务,开发者可以用Python实现完整应用程序所需的各种功能。
6、Python语言缺点
单行语句和命令行输出问题: 很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。
给初学者带来困惑: 独特的语法,这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员,也可能陷入陷阱当中。
运行速度慢: 这里是指与C和C++相比。Python开发人员尽量避开不成熟或者不重要的优化。一些针对非重要部位的加快运行速度的补丁通常不会被合并到Python内。所以很多人认为Python很慢。不过,根据二八定律,大多数程序对速度要求不高。在某些对运行速度要求很高的情况,Python设计师倾向于使用JIT技术,或者用使用C/C++语言改写这部分程序。可用的JIT技术是PyPy。
原创不易,路过的各位大佬请点个赞
以上是关于Python从入门到精通— 初识Python的主要内容,如果未能解决你的问题,请参考以下文章