前言

本系列python基础教程均采用python3.8并向前兼容,所谓吃水不忘挖井人,希望我的教程能够帮助到大家,当然此教程也是参阅了许多博文结合自己的见解而来,仅供参考。

python是一款非常友好的语言

  • Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

  • Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

  • Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。

  • Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。

  • Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。

  • Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。

python2.x和python3.x

python3.x的设计没有考虑向后兼容,也就是说python3.x的代码运行在python2.x的环境下可能无法运行,现在大多数公司都转向python3.x,还有少部分公司坚持在python2.x的环境下或者说某些领域比如ros系统下,还是python2比较稳定。

python历史简介

以下来自<<维基百科>>

  • Python的创始人为吉多·范罗苏姆,当时他在阿姆斯特丹的荷兰数学和计算机科学研究学会工作。1989年的圣诞节期间,吉多·范罗苏姆为了在打发时间,决心开发一个新的脚本解释编程,作为ABC语言的一种继承,替代使用Unix shell和C语言进行系统管理,担负同Amoeba操作系统的交互和异常处理[6]。之所以选中Python作为编程的名字,是因为他是BBC电视剧——《蒙提·派森的飞行马戏团》(Monty Python’s Flying Circus)的爱好者[7]。范罗苏姆作为Python的主要开发者独自担负这个项目的职责,直到2018年7月12日,他宣布从作为终身仁慈独裁者(BDFL)的职责上“永久休假”,Python社区向他授予这个头衔反映了他长期担任整个Python语言的发展方向的决策者[8][9]。他在2019年1月至11月于参与了一个五人掌控委员会继续领导项目发展[10][11]。

  • 在1991年2月,范罗苏姆发布了最初代码(标记为版本0.9.0)于alt.sources[12],这时就已经存在了带继承的类、异常处理、函数和核心数据类型list、dict、str等。在这个最初发行中就有了从Modula-3引进的模块系统[13],它的异常模型也类似于Modula-3,但增加了else子句[6]。在1994年1月Python达到了版本1.0。这个发行版主要新特征是包括了函数式编程工具lambda、map、filter和reduce[14]。Python 1.4增加了受Modula-3启发的关键字参数和对复数的内建支持,还包含采取名字修饰的一种基本形式的数据隐藏[15]。

  • Python 2.0于2000年10月16日发布,介入了列表推导式,这是从函数式编程语言SETL和Haskell中引入的。它还向垃圾收集系统增加了环检测算法,并且支持Unicode[16]。Python 2.1支持了嵌套作用域,就像其他静态作用域语言一样[17]。Python 2.2的重大革新是将Python的类型(用C写成)和类(用Python写成)统一入一个层级,使得Python的对象模型成为纯粹和一致的面向对象的模型[18];还增加了受CLU启发的迭代器[19],受Icon启发的生成器[20],和描述器协议[21]。Python 2.4加入了集合数据类型,和函数修饰器[22]。Python 2.5加入了with语句[23]。

  • Python 3.0于2008年12月3日发布,它对语言做了较大修订而不能完全后向兼容[24]。Python 3发行包括了2to3实用工具,它(至少部分的)自动将Python 2代码转换成Python 3代码[25]。

  • Python 3的很多新特性后来也被移植到旧的Python 2.6/2.7版本中[26]。Python 2.7的产品寿命结束日期最初设定为2015年,出于对大量的现存代码不能前向移植到Python 3的关切而延期至2020年[27][28]。

  • 在2020年12月,活跃的Python核心开发者选举Barry Warsaw、Brett Cannon、Carol Willing、Pablo Galindo Salgado和Thomas Wouters为2021年度“掌控委员会”的五位成员来领导这个项目[29]。

以下来自<<菜鸟教程>>

  • Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。

  • Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。

  • 像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。

  • 现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。

  • Python 2.0 于 2000 年 10 月 16 日发布,增加了实现完整的垃圾回收,并且支持 Unicode。

  • Python 3.0 于 2008 年 12 月 3 日发布,此版不完全兼容之前的 Python 源代码。不过,很多新特性后来也被移植到旧的Python 2.6/2.7版本。

  • Python 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。

  • Python 2.7 被确定为最后一个 Python 2.x 版本,它除了支持 Python 2.x 语法外,还支持部分 Python 3.1 语法。

python特性

  • 易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

  • 易于阅读:Python代码定义的更清晰,更接近于人类自然语言,写代码更像是在自然讲话一样。

  • 易于维护:Python的成功在于它的源代码是相当容易维护的。

  • 一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好,涉及各行各业的第三方库python基本都有,堪比java甚至比java的库更加丰富。

  • 互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断,如果使用IDE的话互动性会更好,且能够实时查看生成的变量值以及变量的数据结构。

  • 可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。

  • 可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。

  • 数据库:Python提供所有主要的商业数据库的接口。

  • GUI编程:Python支持GUI可以创建和移植到许多系统调用。

  • 可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

python应用

python的应用几乎涉及各行各业,目前应用最多的行业非人工智能莫属,python尤其在数据分析方面属于一枝独秀,以下示例:

  • Youtube - 视频社交网站
  • Reddit - 社交分享网站
  • Dropbox - 文件分享服务
  • 豆瓣网 - 图书、唱片、电影等文化产品的资料数据库网站
  • 知乎 - 一个问答网站
  • 果壳 - 一个泛科技主题网站
  • Bottle - Python微Web框架
  • EVE - 网络游戏EVE大量使用Python进行开发
  • Blender - 使用Python作为建模工具与GUI语言的开源3D绘图软件
  • Inkscape - 一个开源的SVG矢量图形编辑器。
  • 云计算:云计算最热的语言,典型的应用OpenStack
  • WEB开发:许多优秀的WEB框架,许多大型网站是Python开发、YouTube、Dropbox、Douban……典型的Web框架包括Django
  • 科学计算和人工智能:典型的图书馆NumPy、SciPy、Matplotlib、Enided图书馆、熊猫
  • 系统操作和维护:操作和维护人员的基本语言
  • 金融:定量交易、金融分析,在金融工程领域,Python不仅使用最多,而且使用最多,其重要性逐年增加。
  • 图形 GUI:PyQT,WXPython,TkInter
  • 谷歌:谷歌应用程序引擎,代码。Google.com、 Google 爬虫、Google 广告和其他项目正在广泛使用 Python。
  • CIA:美国中情局网站是用 Python 开发的。
  • NASA:美国航天局广泛使用 Python 进行数据分析和计算。
  • YouTube:世界上最大的视频网站 YouTube 是用 Python 开发的。
  • Dropbox:美国最大的在线云存储网站,全部用 Python 实现,每天处理 10 亿的文件上传和下载。
  • Instagram:美国最大的照片共享社交网站,每天有 3000 多万张照片被共享,所有这些都是用 Python 开发的。
  • Facebook:大量的基本库是通过 Python 实现的
  • Red Hat/Centos:世界上最流行的 Linux 发行版中的 Yum 包管理工具是用 Python 开发的
  • Douban:几乎所有公司的业务都是通过 Python 开发的。
  • 知乎:中国最大的 Q&A 社区,通过 Python 开发(国外 Quora)

    除此之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝、土豆、新浪、果壳等公司正在使用 Python 来完成各种任务,可以说几乎每个比较大点的公司都会使用python,可谓是全民学python时代,正是由于python非常友好的特性,赢得了大部分程序员的喜爱。

python的优点

  • 简单 – Python 是一种代表简单主义思想的语言。阅读一个良好的 Python 程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python 的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。
  • 易学 – 就如同你即将看到的一样,Python 极其容易上手。前面已经提到了,Python 有极其简单的语法。
  • 免费、开源 – Python 是 FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS 是基于一个团体分享知识的概念。这是为什么 Python 如此优秀的原因之一——它是由一群希望看到一个更加优秀的 Python 的人创造并经常改进着的。
  • 高层语言 – 当你用 Python 语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
  • 可移植性 – 由于它的开源本质,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 解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用 Python 更加简单。由于你只需要把你的 Python 程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的 Python 程序更加易于移植。
  • 面向对象 – Python 既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如 C++ 和 Java 相比,Python 以一种非常强大又简单的方式实现面向对象编程。
  • 可扩展性 – 如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用 C 或 C++ 编写,然后在你的 Python 程序中使用它们。
  • 丰富的库 – Python 标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV 文件、密码系统、GUI(图形用户界面)、Tk 和其他与系统有关的操作。记住,只要安装了 Python,所有这些功能都是可用的。这被称作 Python 的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如 wxPython、Twisted 和 Py
  • 规范的代码 – Python 采用强制缩进的方式使得代码具有极佳的可读性。

python的不足之处

  • 运行速度,有速度要求的话,用 C++ 改写关键部分吧。
  • 国内市场较小(国内以 Python 来做主要开发的,目前只有一些 web2.0 公司)。但时间推移,目前很多国内软件公司,尤其是游戏公司,也开始规模使用他。
  • 中文资料匮乏(好的 Python 中文资料屈指可数,现在应该变多了)。托社区的福,有几本优秀的教材已经被翻译了,但入门级教材多,高级内容还是只能看英语版。
  • 构架选择太多(没有像 C# 这样的官方 .net 构架,也没有像 ruby 由于历史较短,构架开发的相对集中。Ruby on Rails 构架开发中小型web程序天下无敌)。不过这也从另一个侧面说明,python比较优秀,吸引的人才多,项目也多。

python值得欣慰的地方

  • 虽然说python的运行速度一直是其诟病,这个真的没法解决,还有python的全局解释器锁GIL,导致python本身并不能进行真正的多线程,不过相对于开发速速来说,这些问题还是比较小的,毕竟随着硬件的升级进步,这种速度上的缺陷对于小批量用户来说还是完全能接受的。

  • 另外,python是一门胶水语言,它提供了许多链接其他语言比如C++,C等的接口,如果对速度有要求,又对友好性有要求,完全可以使用其它语言写程序,然后通过python提供的接口调用其它语言的代码,这包括现在流行的numpy,pandas,pytorch等众多C语言编写的第三方库,通过python提供的接口来调用。

结语

本节主要对python的特性以及历史发展等进行一个简短的介绍,以上均来自网络以及个人的理解,仅供参考,由于python涉及的领域很多,以上简介不够全面,大家有个大概的了解即可,等到自己上手项目的时候,相信会对以上简介有更深入的理解。

以上均来自个人总结,可转载可收藏自用,转载请注明一下原文地址,仅代表个人观点,仅供参考,谢谢阅读!

python基础(一):python简介相关推荐

  1. 二十一. Python基础(21)--Python基础(21)

    二十一. Python基础(21)--Python基础(21) 1 ● 类的命名空间 #对于类的静态属性:     #类.属性: 调用的就是类中的属性     #对象.属性: 先从自己的内存空间里找名 ...

  2. Python基础学习-Python中最常见括号()、[]、{}的区别 2015-08-13 07:54 by xuxiaoxiaoxiaolu, 1138 阅读, 0 评论, 收藏, 编辑 Pytho

    Python基础学习-Python中最常见括号().[].{}的区别 2015-08-13 07:54 by xuxiaoxiaoxiaolu, 1138 阅读, 0 评论, 收藏, 编辑 Pytho ...

  3. python基础类型,Python基础-类

    Python基础-类 @(Python)[python, python基础] 写在前面 如非特别说明,下文均基于Python3 摘要 本文重点讲述如何创建和使用Python类,绑定方法与非绑定方法的区 ...

  4. Python基础了解 python自带IDLE编译

    目录 学习小标 学习产出: 前言 一.Python版本 二.语言运用的占比 2021年 6 月编程语言排行榜前 20名 三.Python的应用 1.Web开发 2.网络爬虫 3.大数据处理 4.人工智 ...

  5. 视频教程-扣丁学堂Python基础视频教程-Python

    扣丁学堂Python基础视频教程 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即订阅 扫码下载「CSD ...

  6. 我的全栈之路-Python基础之Python概述与开发环境搭建

    我的全栈之路-Python基础之Python概述与开发环境搭建 我的全栈之路 1.1 信息技术发展趋势 1.2 浅谈计算机系统架构 1.2.1 计算机系统架构概述 1.2.2 计算机硬件系统 1.2. ...

  7. python基础语法--python语言及其应用

    python基础语法 python引言 python python语言是一种高级动态.完全面向对象的语言. python中函数.模块.数字.字符串都是对象. python完全支持继承.重载.派生.多继 ...

  8. 【Python基础】Python简介

    开篇 从本篇文章开始,笔者将带着大家一起学习Python的入门基础知识,自从人工智能.大数据行业的兴起,Python变得炙手可热,成为了近几年最流行的语言之一,2018年,Python 语言上升了 3 ...

  9. Python基础之py简介和基础语法

    一.Python简介 百度百科对Python的解释是:"Python是一种计算机程序设计语言,由吉多·范罗苏姆创造,第一版发布于1991年,可以视之为一种改良的LISP.Python的设计哲 ...

  10. eclipse python_【Python基础】Python基础语法

    编程与Python 1.什么是编程 人为安排计算机解决某个问题的方法和步骤. 2.编程的语言 机器语言:二进制代码表示的计算机能够直接识别和执行的一种机器指令的集合ADD代表运算符号"+&q ...

最新文章

  1. 利用规则引擎计算个人所得税学习
  2. (SpringMVC)概述和简单使用
  3. 滴滴司机端大更新并公布了一份设计方案!
  4. Java集合 LinkedList的原理及使用
  5. 量子计算入门-第二部分
  6. MyBatis之查询缓存
  7. Java常用设计模式————桥接模式
  8. 从 活动选择问题 看动态规划和贪心算法的区别与联系
  9. Oracle 备份与还原
  10. 荣耀V30外观细节曝光:后置相机模组排布类似坚果Pro3
  11. php 输出mysql_php如何输出mysql查询结果
  12. 如何克隆服务器系统数据,Linode面板clone克隆功能实现服务器数据完整迁移
  13. c make干什么用得_CMake简单使用
  14. SQLServer版本对应内部数据库版本号配置表
  15. Python小白的数据库入门
  16. Python微信、QQ自动发消息
  17. 拼多多网站的服务器多大,拼多多打不开网页怎么回事
  18. hdjs-图片 文件上传
  19. 支持向量机(股票)——Python量化
  20. OpenJ_Bailian 2748

热门文章

  1. 生成式对抗网络GAN(一)—基于python实现
  2. NavicatPremium写的MySQL文件去哪?
  3. Castor xsd生成java_利用Castor自动生成java文件
  4. 2015暑假集训总结
  5. tc275的flexcan的接收与发送
  6. 电路基础知识之什么是共模电感/共模信号/差分信号?
  7. 每日程序C语言37-圈子报数问题
  8. 虹科技术 | 终端入侵防御 | 在重大攻击中发现新的Babuk勒索软件
  9. 北上广深飘的程序员的巨大bug
  10. python xlwt