🐴
笔记
  • 学习笔记
  • Python 基础安排
  • 00 在虚拟机中安装 Ubuntu
  • 01 Linux基础
    • 操作系统(科普章节)
    • 操作系统的发展史(科普章节)
    • 文件和目录(理解)
    • Ubuntu 图形界面入门
    • 常用 Linux 命令的基本使用
    • Linux 终端命令格式
    • 文件和目录常用命令
    • ssh远程管理常用命令
    • 用户权限相关命令
    • 系统信息相关命令
    • 其他命令
  • 02 Python 基础
    • 认识 Python
    • 第一个 Python 程序
    • PyCharm 的初始设置(知道)
    • 多文件项目的演练
    • 注释
    • 算数运算符
    • 程序执行原理(科普)
    • 变量的基本使用
    • 变量的命名
    • 判断(if)语句
    • 运算符
    • 循环
    • 函数基础
    • 高级变量类型
    • 综合应用 —— 名片管理系统
    • 变量进阶(理解)
    • 函数进阶
  • 03 面向对象
    • 面向对象(OOP)基本概念
    • 类和对象
    • 面相对象基础语法
    • 面向对象封装案例
    • 面向对象封装案例 II
    • 私有属性和私有方法
    • 继承
    • 多态
    • 类属性和类方法
    • 单例
    • 异常
    • 模块和包
    • 文件
    • eval 函数
  • 04 项目实战资料
  • 05 vi —— 终端中的编辑器
  • 2-01 网络编程
  • 2-02 多任务
  • 2-03 web服务器v3.1
  • 2-04 Python高级语法v3.1
  • 2-05 MySQL数据库v3.1
  • 2-12 git版本管理
  • 2-21 数据分析
  • 2-24 数据结构和算法
Powered by GitBook
On this page
  • 目标
  • 01. 计算机中的三大件
  • 思考题
  • 02. 程序执行的原理
  • 2.1 Python 程序执行原理
  • 03. 程序的作用
  • 3.1 思考 QQ 程序的启动过程
  • 3.2 思考 QQ 程序的 登录 过程
  1. 02 Python 基础

程序执行原理(科普)

目标

  • 计算机中的 三大件

  • 程序执行的原理

  • 程序的作用

01. 计算机中的三大件

计算机中包含有较多的硬件,但是一个程序要运行,有 三个 核心的硬件,分别是:

  1. CPU

    • 中央处理器,是一块超大规模的集成电路

    • 负责 处理数据/计算

  2. 内存

    • 临时 存储数据(断电之后,数据会消失)

    • 速度快

    • 空间小(单位价格高)

  3. 硬盘

    • 永久 存储数据

    • 速度慢

    • 空间大(单位价格低)

CPU
内存
硬盘

思考题

  1. 计算机中哪一个硬件设备负责执行程序?

    • CPU

  2. 内存 的速度快还是 硬盘 的速度快?

    • 内存

  3. 我们的程序是安装在内存中的,还是安装在硬盘中的?

    • 硬盘

  4. 我买了一个内存条,有 500G 的空间!!!,这句话对吗?

    • 不对,内存条通常只有 4G / 8G / 16G / 32G

  5. 计算机关机之后,内存中的数据都会消失,这句话对吗?

    • 正确

02. 程序执行的原理

  1. 程序 运行之前,程序是 保存在硬盘 中的

  2. 当要运行一个程序时

    • 操作系统会首先让 CPU 把程序复制到 内存 中

    • CPU 执行 内存 中的 程序代码

程序要执行,首先要被加载到内存

2.1 Python 程序执行原理

  1. 操作系统会首先让 CPU 把 Python 解释器 的程序复制到 内存 中

  2. Python 解释器 根据语法规则,从上向下 让 CPU 翻译 Python 程序中的代码

  3. CPU 负责执行翻译完成的代码

Python 的解释器有多大?

  • 执行以下终端命令可以查看 Python 解释器的大小

# 1. 确认解释器所在位置
$ which python

# 2. 查看 python 文件大小(只是一个软链接)
$ ls -lh /usr/bin/python

# 3. 查看具体文件大小
$ ls -lh /usr/bin/python2.7

提示:建立 软链接 的目的,是为了方便使用者不用记住使用的解释器是 哪一个具体版本

03. 程序的作用

程序就是 用来处理数据 的!

  • 新闻软件 提供的 新闻内容、评论…… 是数据

  • 电商软件 提供的 商品信息、配送信息…… 是数据

  • 运动类软件 提供的 运动数据…… 是数据

  • 地图类软件 提供的 地图信息、定位信息、车辆信息…… 是数据

  • 即时通讯软件 提供的 聊天信息、好友信息…… 是数据

  • ……

3.1 思考 QQ 程序的启动过程

  1. QQ 在运行之前,是保存在 硬盘 中的

  2. 运行之后,QQ 程序就会被加载到 内存 中了

3.2 思考 QQ 程序的 登录 过程

  1. 读取用户输入的 QQ 号码

  2. 读取用户输入的 QQ 密码

  3. 将 QQ 号码 和 QQ 密码 发送给腾讯的服务器,等待服务器确认用户信息

思考 1

在 QQ 这个程序将 QQ 号码 和 QQ 密码 发送给服务器之前,是否需要先存储一下 QQ 号码 和 密码?

答案

肯定需要!—— 否则 QQ 这个程序就不知道把什么内容发送给服务器了!

思考 2

QQ 这个程序把 QQ 号码 和 QQ 密码 保存在哪里?

答案

保存在 内存 中,因为 QQ 程序自己就在内存中

思考 3

QQ 这个程序是怎么保存用户的 QQ 号码 和 QQ 密码 的?

答案

  1. 在内存中为 QQ 号码 和 QQ 密码 各自分配一块空间

    • 在 QQ 程序结束之前,这两块空间是由 QQ 程序负责管理的,其他任何程序都不允许使用

    • 在 QQ 自己使用完成之前,这两块空间始终都只负责保存 QQ 号码 和 QQ 密码

  2. 使用一个 别名 标记 QQ 号码 和 QQ 密码 在内存中的位置

  • 在程序内部,为 QQ 号码 和 QQ 密码 在内存中分配的空间就叫做 变量

  • 程序就是用来处理数据的,而变量就是用来存储数据的

Previous算数运算符Next变量的基本使用

Last updated 3 years ago