02-python开发基础

1 现代计算机

图灵计算机之父,提出了图灵集机模型。
图灵机:将人的计算行为抽象掉的数学逻辑机,其更抽象的意义为一种计算模型。可以看作等价于任何有限逻辑数学过程的终极强大逻辑机
*图灵机定义:
02-python开发基础
状态集合,有穷输入字母表,(前两个为总体),有穷带字母表,空白符,初始状态,接受状态,拒绝状态
冯诺伊曼计算机体系:二进制,五大部件:输入输出设备,存储器(内存),【运算器,控制器】(cpu)cpu中有寄存器和多级cache。
硬盘(外存)存储数据,进入内存,cpu读取,进入寄存器(内内存,哈哈哈),运算器处理,处理后可能放入缓存,cpu可以更快速读取。为什么有内存,寄存器,缓存呢?处理频率不同。

  1. 寄存器是*处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。
  2. 内存:cpu与外存(磁盘)之间的桥梁
  3. Cache :即高速缓冲存储器,是位于CPU与主内存间的一种容量较小但速度很高的存储器。

外存-内存-Cache-寄存器,Cache缓存则是为了弥补CPU与内存之间运算速度的差异而设置的的部件。
量子计算机:另一种架构。

2语言

机器语言:二进制01序列。面向机器
汇编语言:机器语言的升级,一些助记符号代替01序列。需要经过汇编程序转为机器语言。面向机器
高级语言:更加高级易于人的学习和编写,接近自然语言和数学语言。经过编译器处理转为机器指令。
高级语言到机器语言存在转换,编译器或者解释器。

C,C++:编译生成目标代码(二进制文件),连接生成exe文件。本地编译,因为不同cpu指令存在差异。
java,python,C#。源代码经过解释器编译成中间代码(bytecode),在虚拟机上运行。只要不同平台有对应虚拟机,中间代码可以直接运行,虚拟机解决了不同平台问题。
编译语言:源代码转为目标机器的cpu指令
解释语言:源代码经过解释机器转为中间代码,运行在虚拟机上。

高级语言发展:
非结构:goto 多入口多出口,分支,循环,
结构化:废除goto 唯一入口出口,顺序,分支,循环
面向对象:万物抽象为对象,对象关系抽象为类和继承,封装,继承,多态
函数式:数学公式型语言

静态编译语言:事先声明类型
动态编译语言:不用事先声明类型,随时赋值
强类型:不同类型操作强化转化为一个类型
弱类型:不同类型可操作,自动隐式转换

3程序

程序为了处理数据
数据存储方式为数据结构
算法处理数据
程序=算法+数据结构

4 python 解释器

官方 Cpython :c语言开发,最广泛
IPython:交互式增强Cpython
PyPy:python语言编写的python解释器 jit (just in time )动态编译 可以本地编译 提升效率
Jython:编译成java字节码,跑在JVM(java 虚拟 machine)上
IronPython:与Jython类似,编译成.Net字节码