人生苦短,我用python,为何选择python,python简介

认识 Python

人生苦短,我用 Python —— Life is short, you need Pythonpython

001_人生苦短我用python程序员

目标

  • Python 的起源
  • 为何要用 Python?
  • Python 的特色
  • Python 的优缺点

01. Python 的起源

Python 的创始人为吉多·范罗苏姆(Guido van Rossum)算法

002_吉多数据库

  1. 1989 年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的解释程序,做为 ABC 语言的一种继承(感受下什么叫牛人
  2. ABC 是由吉多参加设计的一种教学语言,就吉多本人看来,ABC 这种语言很是优美和强大,是专门为非专业程序员设计的。可是 ABC 语言并无成功,究其缘由,吉多认为是非开放形成的。吉多决心在 Python 中避免这一错误,并获取了很是好的效果
  3. 之因此选中 Python(蟒蛇) 做为程序的名字,是由于他是 BBC 电视剧——蒙提·派森的飞行马戏团(Monty Python's Flying Circus)的爱好者
  4. 1991 年,第一个 Python 解释器 诞生,它是用 C 语言实现的,并可以调用 C 语言的库文件

1.1 解释器(科普)

计算机不能直接理解任何除机器语言之外的语言,因此必需要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。将其余语言翻译成机器语言的工具,被称为编译器编程

编译器翻译的方式有两种:一个是编译,另一个是解释。两种方式之间的区别在于翻译时间点的不一样。当编译器以解释方式运行的时候,也称之为解释器网络

001_编译型和解释型语言工做对比机器学习

  • 编译型语言:程序在执行以前须要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不须要从新翻译,直接使用编译的结果就好了。程序执行效率高,依赖编译器,跨平台性差些。如 C、C++
  • 解释型语言:解释型语言编写的程序不进行预先编译,以文本方式存储程序代码,会将代码一句一句直接运行。在发布程序时,看起来省了道编译工序,可是在运行程序的时候,必须先解释再运行

编译型语言和解释型语言对比

  • 速度 —— 编译型语言比解释型语言执行速度快
  • 跨平台性 —— 解释型语言比编译型语言跨平台性好

1.2 Python 的设计目标

1999 年,吉多·范罗苏姆向 DARPA 提交了一条名为 “Computer Programming for Everybody” 的资金申请,并在后来讲明了他对 Python 的目标:编程语言

  • 一门简单直观的语言并与主要竞争者同样强大
  • 开源,以便任何人均可觉得它作贡献
  • 代码像纯英语那样容易理解
  • 适用于短时间开发的平常任务

这些想法中的基本都已经成为现实,Python 已经成为一门流行的编程语言函数

1.3 Python 的设计哲学

  1. 优雅
  2. 明确
  3. 简单
  • Python 开发者的哲学是:用一种方法,最好是只有一种方法来作一件事
  • 若是面临多种选择,Python 开发者通常会拒绝花俏的语法,而选择明确没有或者不多有歧义的语法

在 Python 社区,吉多被称为“仁慈的独裁者”工具

02. 为何选择 Python?

  • 代码量少
  • ……

同同样问题,用不一样的语言解决,代码量差距仍是不少的,通常状况下 Python 是 Java 的 1/5,因此说 人生苦短,我用 Python

03. Python 特色

  • Python 是彻底面向对象的语言
    • 函数模块数字字符串都是对象,在 Python 中一切皆对象
    • 彻底支持继承、重载、多重继承
    • 支持重载运算符,也支持泛型设计
  • Python 拥有一个强大的标准库,Python 语言的核心只包含 数字字符串列表字典文件 等常见类型和函数,而由 Python 标准库提供了 系统管理网络通讯文本处理数据库接口图形系统XML 处理 等额外的功能
  • Python 社区提供了大量的第三方模块,使用方式与标准库相似。它们的功能覆盖 科学计算人工智能机器学习Web 开发数据库接口图形系统 多个领域

面向对象的思惟方式

  • 面向对象 是一种 思惟方式,也是一门 程序设计技术
  • 要解决一个问题前,首先考虑 由谁 来作,怎么作事情是  的职责,最后把事情作好就行!
    • 对象 就是 
  • 要解决复杂的问题,就能够找多个不一样的对象各司其职,共同实现,最终完成需求

04. Python 的优缺点

4.1 优势

  • 简单、易学
  • 免费、开源
  • 面向对象
  • 丰富的库
  • 可扩展性
    • 若是须要一段关键代码运行得更快或者但愿某些算法不公开,能够把这部分程序用 C 或 C++ 编写,而后在 Python 程序中使用它们
  • ……

4.2 缺点

  • 运行速度
  • 国内市场较小
  • 中文资料匮乏
相关文章
相关标签/搜索