010 深入理解Python语言
目录
一、概述
- 计算机技术的演进
- 编程语言的多样初心
- Python语言的特点
- "超级语言"的诞生
二、计算机技术的演进
2.1 计算机技术的演进过程

| - | - | - |
|---|---|---|
| 2017- | 人工智能时代 | 人类的问题 |
| 2008-2016 | 复杂信息系统时代 | 数据问题 |
| 1981-2008 | 网络和视窗时代 | 交互问题 |
| 1946-1981 | 计算机系统结构时代 | 计算机能力问题 |
三、编程语言的多样初心
3.1 编程语言有哪些?
Basic, C, C++, C#, CSS, Fortran, Go, HTML, Java, JavaScript, Lisp, Lua, Matlab, Object C, Pascal, Perl, PHP, PostScript, Python, Ruby, Scala, SQL, Swift, VBA, VB.NET, Verilog, VHDL, Visual Basic
编程语言,也是一个江湖!
3.2 不同编程语言的初心和适用对象
| 编程语言 | 学习内容 | 语言本质 | 解决问题 | 适用对象 |
|---|---|---|---|---|
| C | 指针、内存、数据类型 | 理解计算机系统结构 | 性能 | 计算机类专业 |
| Java | 对象、跨平台、运行时 | 理解主客体关系 | 跨平台 | 软件类专业 |
| C++ | 对象、多态、继承 | 理解主客体关系 | 大规模关系 | 计算机类专业 |
| VB | 对象、按钮、文本框 | 理解交互逻辑 | 桌面应用 | 不确定 |
| Python | 编程逻辑、第三方库 | 理解问题求解 | 各类问题 | 所有专业 |
各编程语言所处历史时期和使命不同,Python是计算时代演进的选择!
3.3 2018年以后的计算环境…
计算机性能不再是解决一般问题的瓶颈
移动互联网广泛普及
大数据、云计算、物联网、信息安全、人工智能等需求爆发
解决日益增长的计算需求,用什么语言?
四、Python语言的特点
- Python语言是通用语言
- Python语言是脚本语言
- Python语言是开源语言
- Python语言是跨平台语言
- Python语言是多模型语言
Guido van Rossum
Python语言创立者
2002年,Python 2.x
2008年,Python 3.x

五、Python特点与优势
| 语法简洁 | 生态高产 |
|---|---|
| C代码量的10% | >13万第三方库 |
| 强制可读性 | 快速增长的计算生态 |
| 较少的底层语法元素 | 避免重复造轮子 |
| 多种编程方式 | 开放共享 |
| 支持中文字符 | 跨操作系统平台 |
六、如何看待Python语言?
人生苦短,我学Python
- C/C++:Python归Python,C归C
- Java:针对特定开发和岗位需求
- HTML/CSS/JS:不可替代的前端技术,全栈能力
- 其他语言:R/Go/Matlab等,特定领域
Python是最高产的程序设计语言及……
- 掌握抽象并求解计算问题综合能力的语言
- 了解产业界解决复杂计算问题方法的语言
- 享受利用编程将创新变为实现乐趣的语言
工具决定思维:关注工具变革的力量!

七、"超级语言"的诞生
7.1 机器语言
- 一种二进制语言,直接使用二进制代码表达指令
- 计算机硬件(CPU)可以直接执行,与具体CPU型号有关
- 完成 2+3 功能的机器语言
11010010 00111011--> 2+3
7.2 汇编语言
- 一种将二进制代码直接对应助记符的编程语言
- 汇编语言与CPU型号有关,程序不通用,需要汇编器转换
- 完成 2+3 功能的汇编语言
add 2,3,result-->2+3
7.3 高级语言
- 更接近自然语言,同时更容易描述计算问题
- 高级语言代码与具体CPU型号无关,编译后运行
- 完成 2+3 功能的高级语言
result = 2 + 3-->2+3
7.4 编程语言种类的发展
| 语言 | 介绍 |
|---|---|
| 超级语言 | 粘性整合已有程序,具备庞大计算生态 |
| 高级语言 | 接近自然语言,编译器,与CPU型号无关 |
| 汇编语言 | 有助记符,汇编器,与CPU型号有关 |
| 机器语言 | 代码直接执行,与CPU型号有关 |
7.5 超级语言
- 具有庞大计算生态,可以很容易利用已有代码功能
- 编程思维不再是刀耕火种,而是集成开发
- 完成 2+3 功能的超级语言
Python: 唯一的"超级语言"!
Python前进的步伐不可阻挡
八、小结
- 计算机系统结构时代到人工智能时代的演进路线
- 五种编程语言的初心和历史使命
- Python语言的通用性、简洁性和生态性
- Python是以计算生态为标志的"超级语言"
010 深入理解Python语言的更多相关文章
- 深入理解python语言
2008年,安卓操作系统诞生:PC时代向移动时代转换 互联网,视窗 2017/5/27柯洁最终0:3AlphaGo 计算机技术的演进过程 不同编程语言的设计初心和适用对象 C语言核心解决的是性能问题, ...
- 第三章 深入理解python语言
计算机技术的演进过程 1946-1981年 计算机系统结构时代(35年) 解决计算机能力的问题 1981-2008年 网络和视窗时代(27年) 解决交互问题 2008-2016年 复杂信息系统时代(8 ...
- 理解Python语言里的异常(Exception)
Exception is as a sort of structured "super go to".异常是一种结构化的"超级goto". 作为一个数十年如一日 ...
- 理解 Python 语言中的 defaultdict
众所周知,在Python中如果访问字典中不存在的键,会引发KeyError异常(JavaScript中如果对象中不存在某个属性,则返回undefined).但是有时候,字典中的每个键都存在默认值是非常 ...
- Python语言学习之Python入门到进阶
人们常说Python语言简单,编写简单程序时好像也确实如此.但实际上Python绝不简单,它也是一种很复杂的语言,其功能特征非常丰富,能支持多种编程风格,在几乎所有方面都能深度定制.要想用好Pytho ...
- 【学习笔记】PYTHON语言程序设计(北理工 嵩天)
1 Python基本语法元素 1.1 程序设计基本方法 计算机发展历史上最重要的预测法则 摩尔定律:单位面积集成电路上可容纳晶体管数量约2年翻倍 cpu/gpu.内存.硬盘.电子产品价格等都遵 ...
- 使用Python语言理解递归
递归 一个函数在执行过程中一次或多次调用其本身便是递归,就像是俄罗斯套娃一样,一个娃娃里包含另一个娃娃. 递归其实是程序设计语言学习过程中很快就会接触到的东西,但有关递归的理解可能还会有一些遗漏,下面 ...
- 如何系统地自学一门Python 语言(转)
转自:http://www.phpxs.com/post/4521 零基础情况下,学一门语言充实下自己,Python,简洁.优美.容易使用,是一个很好的选择.那么如何系统地自学Python呢? 有的人 ...
- 《Selenium2自动化测试实战--基于Python语言》 --即将面市
发展历程: <selenium_webdriver(python)第一版> 将本博客中的这个系列整理为pdf文档,免费. <selenium_webdriver(python)第 ...
随机推荐
- Linux curl 命令详解
命令概要 该命令设计用于在没有用户交互的情况下工作. curl 是一个工具,用于传输来自服务器或者到服务器的数据.「向服务器传输数据或者获取来自服务器的数据」 可支持的协议有(DICT.FILE.FT ...
- 如何编写一个WebPack的插件原理及实践
_ 阅读目录 一:webpack插件的基本原理 二:理解 Compiler对象 和 Compilation 对象 三:插件中常用的API 四:编写插件实战 回到顶部 一:webpack插件的基本原理 ...
- http测试工具
http测试工具: https://github.com/denji/awesome-http-benchmark wrk https://github.com/wg/wrk wrk2 https:/ ...
- JavaScript循环出现的问题——用闭包来解决
在for循环中,数组长度为3,我本来是想对每个循环的元素绑定一个点击事件的,结果点击后控制台输出全部为1. for (var i = 0; i < data.data.length; i++) ...
- C#连接sqlserver分页查询的两个简单的方法
/// <summary> /// 分页查询函数 /// </summary> /// <param name="co ...
- vim 基础配置
最近在使用 python 搞服务, 简单配置了一个 vim, 配置了自动补全以及背景色 .(ps:搜狗输入法快捷键占用真是太坑爹,改用谷歌输入法,世界安静了) 具体配置如下: 一. 安装插件 1.克隆 ...
- python面向对象初始进阶版 通过一道题带你认识面向对象
定义一个类 class Person: #公共属性 animal='高级动物' soul='有灵魂' language='语言' def init(self,country,name,sex,age, ...
- 一份程序猿单词列表(updating)
以下单词是个人平时阅读英文文档时遇到的一些“生”单词,该文档将持续更新,可以持续关注https://github.com/hylinux1024/word-list-for-programmer hi ...
- 「雕爷学编程」Arduino动手做(15)——手指侦测心跳模块
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
- 《Java 8 in Action》Chapter 1:为什么要关心Java 8
自1998年 JDK 1.0(Java 1.0) 发布以来,Java 已经受到了学生.项目经理和程序员等一大批活跃用户的欢迎.这一语言极富活力,不断被用在大大小小的项目里.从 Java 1.1(199 ...