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)第 ...
随机推荐
- MyEclipse下安装FreeMark插件
现在大多人人喜欢用FreeMark模板.但是这个模板在myeclipse或者是eclipse下却是不能只能提示,一大堆只是没有颜色区分的显示在哪里.万能天国总是有办法. 点我去官网下载(比较慢) 我的 ...
- 洛谷 P2657 [SCOI2009]windy数
题意简述 求l~r之间不含前导零且相邻两个数字之差至少为2的正整数的个数 题解思路 数位DP 代码 #include <cstdio> #include <cstring> # ...
- G-P-M 模型
G-P-M 模型概述 每一个OS线程都有一个固定大小的内存块(一般会是2MB)来做栈,这个栈会用来存储当前正在被调用或挂起(指在调用其它函数时)的函数的内部变量.这个固定大小的栈同时很大又很小.因为2 ...
- .Net MVC 框架基础知识
一.什么是MVC? MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式. MVC全名是Model View Controlle ...
- laya2d 与 cad 之间的坐标转换
坐标系基本概念 直角坐标系可分为左手坐标系与右手坐标系,cad 中用到的是右手坐标系, Laya2D 中用到的是左手坐标系, Laya3D 中使用右手坐标系. 那么如何判断二维直角坐标系是左手还是右手 ...
- 神经网络优化算法:Dropout、梯度消失/爆炸、Adam优化算法,一篇就够了!
1. 训练误差和泛化误差 机器学习模型在训练数据集和测试数据集上的表现.如果你改变过实验中的模型结构或者超参数,你也许发现了:当模型在训练数据集上更准确时,它在测试数据集上却不⼀定更准确.这是为什么呢 ...
- Springboot整合html 报java.lang.IllegalArgumentException: Root element name cannot be null
解决: <!DOCTYPE><html> 改为 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...
- abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十五)
core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+e ...
- Java连载21-switch练习
一.switch练习 public class d21_{ public static void main(String[] args) { java.util.Scanner s = new jav ...
- 缓存系列-Redis入门教程
Redis是什么? Redis (REmote DIctionary Server)是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列,是一个高性能的key-valu ...