python笔记:#001#python简介

认识 Python

人生苦短,我用 Python —— Life is short, you need Python程序员

人生苦短,我用 Python

目标

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

01. Python 的起源

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

吉多

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

1.1 解释器(科普)

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

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

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

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

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

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

1.2 Python 的设计目标

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

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

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

1.3 Python 的设计哲学

  1. 优雅
  2. 明确
  3. 简单

<!-- > 在 Python 解释器内运行 `import this` 能够得到完整的列表 -->编程语言

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

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

02. 为何选择 Python?

  • 代码量少
  • ……

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

03. Python 特色

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

面向对象的思惟方式

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

04. Python 的优缺点

4.1 优势

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

4.2 缺点

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