Python3 简介

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

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

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

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

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

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

Python 发展历史

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 特点

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

2.易于阅读:Python代码定义的更清晰。

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

4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。

5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。

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

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

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

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

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

Python 应用

Youtube - 视频社交网站

Reddit - 社交分享网站

Dropbox - 文件分享服务

豆瓣网 - 图书、唱片、电影等文化产品的资料数据库网站

知乎 - 一个问答网站

果壳 - 一个泛科技主题网站

Bottle - Python微Web框架

EVE - 网络游戏EVE大量使用Python进行开发

Blender - 使用Python作为建模工具与GUI语言的开源3D绘图软件

Inkscape - 一个开源的SVG矢量图形编辑器。

补充

优点

简单 – 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 和 Python 图像库等等。

规范的代码 – Python 采用强制缩进的方式使得代码具有极佳的可读性。

缺点

运行速度,有速度要求的话,用 C++ 改写关键部分吧。

国内市场较小(国内以 Python 来做主要开发的,目前只有一些 web2.0 公司)。但时间推移,目前很多国内软件公司,尤其是游戏公司,也开始规模使用他。

中文资料匮乏(好的 Python 中文资料屈指可数,现在应该变多了)。托社区的福,有几本优秀的教材已经被翻译了,但入门级教材多,高级内容还是只能看英语版。

构架选择太多(没有像 C# 这样的官方 .net 构架,也没有像 ruby 由于历史较短,构架开发的相对集中。Ruby on Rails 构架开发中小型web程序天下无敌)。不过这也从另一个侧面说明,python比较优秀,吸引的人才多,项目也多。

Python 的主要运用领域有:

云计算:云计算最热的语言,典型的应用OpenStack

WEB开发:许多优秀的 WEB 框架,许多大型网站是Python开发、YouTube、Dropbox、Douban……典型的Web框架包括Django

科学计算和人工智能:典型的图书馆NumPy、SciPy、Matplotlib、Enided图书馆、熊猫

系统操作和维护:操作和维护人员的基本语言

金融:定量交易、金融分析,在金融工程领域,Python 不仅使用最多,而且其重要性逐年增加。

图形 GUI:PyQT,WXPython,TkInter

Python 在一些公司的运用有:

谷歌:谷歌应用程序引擎,代码。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教程一 概念相关推荐

  1. Python基础(简明Python教程)

    Python基础(简明Python教程) 参考简明Python教程 基本概念 注释符 # 基本数据类型 整数.长整数.浮点数(52.3E-4).复数(-5+4j) 字符串 对象 运算符 与Java基本 ...

  2. 给老婆写个Python教程

    作者 | 水风 来源 | 水风知乎问答 如何挑战百万年薪的人工智能! https://edu.csdn.net/topic/ai30?utm_source=csdn_bw 什么是code code就是 ...

  3. python教程实例-python教程实例

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 然后我们要将python原生数据类型恢复成正常的对象实例. serializer ...

  4. python难不难学-超级适合新手学习的python教程,入门其实不难?

    在互联网时代很多人都希望掌握一个与互联网相关的知识,比如Python的知识就非常重要,因为无论是操作新媒体平台还是去制作一些软件,我们都需要掌握一些Python的技巧,而且学习一些Python的知识, ...

  5. 简明python教程在线-简明python教程

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. usrbinpython#hello_world.pyprinthell ...

  6. c+和python先学哪个比较好-【编程先学什么好,c还是python】python教程c

    编程先学什么好,c还是python 我和楼上的看法差不看个人偏好,其实各势. c的底层,学c的话,能了解一些基本的概念,编译.指针.内存管理等概念.但是由于偏底层,初学者去开发有意思的应用程序难度就比 ...

  7. OpenCV Python教程(3)(4)(5): 直方图的计算与显示 形态学处理 初级滤波内

    OpenCV Python教程(3.直方图的计算与显示) 本篇文章介绍如何用OpenCV Python来计算直方图,并简略介绍用NumPy和Matplotlib计算和绘制直方图 直方图的背景知识.用途 ...

  8. 四全集学python选哪种电脑_“Python教程哪个版本最适合学习?“python教程全集

    python教程,求一套比较好的python教程 好不好主要先看你自己,理解能力样,有没有接触过编程,有没础,这很重要: 看教程,能不能先给你建立起知识体系框架,许多教程一上来就直接给你灌输知识很让人 ...

  9. 微软官方上线的Python教程,7个章节就把Python说通了!

    整理:程序员书库(ID:OpenSourceTop) 链接: https://docs.microsoft.com/zh-cn/windows/python/ 近日,微软上线了一套 Python 教程 ...

最新文章

  1. json qbytearray 串 转_如何通过QByteArray在JSON中存储QPixmap?
  2. 霸榜多个CV任务,开源仅两天,微软分层ViT模型收获近2k star
  3. 端到端半监督目标检测框架
  4. 关于MYSQL日期 字符串 时间戳互转
  5. org.apache.hadoop.hive.metastore.api.InvalidObjectException: Role public already exists.
  6. 前端学习(1147):ES6学习目标
  7. smart gesture安装失败_WinCC flexible SMART V3 SP2安装步骤以及常见错误解决方法
  8. python中deepcopy函数_Python学习笔记函数之copy()和deepcopy()
  9. 重要性采样(Importance Sampling)简介和简单样例实现
  10. 【排坑】内外部事务的回滚问题(三)
  11. eureka默认端口号是多少_微服务技术系列教程 - SpringCloud- 服务治理Eureka(集群搭建)...
  12. 微信公众号小程序微商城源码
  13. RAID 0/1/5/6/00/(10/01)/50/60磁盘阵列逻辑容量计算公式
  14. 微信内置浏览器清除缓存
  15. App自动化界面操作_按键模拟(模拟键盘信号)、driver.keyevent(keycode)
  16. 免费拿走Vivado2017.4安装包及其license(附带安装教程)
  17. ubuntu QT安装
  18. [JVM]了断局: 虚拟机字节码指令表速查
  19. 计算机网络-以太网,局域网,城域网,广域网,互联网,因特网,万维网的区分
  20. 一等公民 二等公民_成为.NET优秀公民意味着某些事情...从您的调试技能开始

热门文章

  1. MAC版Proxyee Down百度网盘高速下载器教程
  2. 2006年重大病毒***大阅兵
  3. 一文带你读懂“经典TRIZ”
  4. access2003数据库连接
  5. 一个让人类窒息的AI工具,或许未来人工智能真的能代替人类!
  6. 一个低成本构建电商平台的方案
  7. 笔记:caffe安装编译,并用ssd gpu训练自己的数据集
  8. 手把手教你读财报----银行业----第四课
  9. 88、基于STM32单片机的指纹考勤机指纹识别签到系统设计
  10. 大二Web课程设计——海贼王中乔巴专题漫画(可以很好的应付老师的作业)HTML+CSS