05 程序的执行原理以及变量的使用

目录

1 程序的执行: 

1.1 计算机中的三个重要部分

1.2 程序的执行原理

1.3 程序的作用

2 变量:

2.1变量的定义

2.2变量的类型

2.3不同变量的计算

2.4变量的输入

2.5变量的格式化输出


1.1 计算机中的三个重要部分

  • cpu:中央处理器,是一块超大规模的集成电路,负责 处理数据/计算
  • 内存:临时 存储数据(断电之后,数据会消失) 速度快 空间小(单位价格高)
  • 磁盘:永久 存储数据 速度慢 空间大(单位价格低)

下面是cpu、内存条、磁盘的实物图片:

     

思考:

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

    • CPU

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

    • 内存

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

    • 硬盘

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

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

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

    • 正确

1.2 程序的执行原理

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

  2. 当要运行一个程序时

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

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

python程序的执行原理:

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

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

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

python解释器的大小:

在Linux中执行一下命令即可查看:

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

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

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

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

由图可知:python解释器的大小只有3.5M.

1.3 程序的作用

程序就是用来处理数据的

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

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

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

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

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

1.31 思考 QQ 程序的启动过程

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

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

1.32 思考 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 密码 在内存中分配的空间就叫做 变量

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

2.1 变量的定义

  • 在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 才会被创建

  • 等号(=)用来给变量赋值

    • = 左边是一个变量名

    • = 右边是存储在变量中的值

变量的交互式演练:

  

使用交互式方式,如果要查看变量内容,直接输入变量名即可,不需要使用 print 函数

  • 变量名 只有在 第一次出现 才是 定义变量
  • 变量名 再次出现,不是定义变量,而是直接使用之前定义过的变量
  • 在程序开发中,可以修改之前定义变量中保存。

在pycharm中的演练:

2.2变量的类型

在内存中创建一个变量,会包括:

  1. 变量的名称

  2. 变量保存的数据

  3. 变量存储数据的类型

  4. 变量的地址(标示)

变量的类型:

  • Python 中定义变量是 不需要指定类型(在其他很多高级语言中都需要)

  • 数据类型可以分为 数字型非数字型

  • 数字型

    • 整型 (int)

    • 浮点型(float

    • 布尔型(bool

      • True 非 0 数 —— 非零即真

      • False 0

    • 复数型 (complex)

      • 主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题

  • 非数字型

    • 字符串

    • 列表

    • 元组

    • 字典

提示:在 Python 2.x 中,整数 根据保存数值的长度还分为:

  • int(整数)

  • long(长整数)

  • 使用 type 函数可以查看一个变量的类型

变量类型的演练:

  • 定义变量保存小明的个人信息

  • 姓名:小明

  • 年龄:18

  • 性别:男生

  • 身高:1.75

  • 体重:75.0 公斤

在pycharm中输入一下代码:(print语句可以不要)

然后按调试窗口,在代码右侧会出现蓝色的信息

输出窗口如下:

选择debugger窗口:会看到每个变量的类型。

在ipyhton中的演练:

2.3 不同变量的计算

1.字型变量 之间可以直接计算:

在 Python 中,两个数字型变量是可以直接进行 算数运算

如果变量是 bool 型,在计算时

True 对应的数字是 1

False 对应的数字是 0

 

2.字符串变量 之间使用 + 拼接字符串

 

3.字符串变量 可以和 整数 使用 * 重复拼接相同的字符串

 

4.数字型变量 和 字符串 之间 不能进行其他计算

白色的字体提示我们:不支持这种运作方式。

 

2.4 变量的输入

input()函数:

在 Python 中,如果要获取用户在 键盘 上的输入信息,需要使用到 input 函数

  • Python 中可以使用 input 函数从键盘等待用户的输入

  • 用户输入的 任何内容 Python 都认为是一个 字符串

enter_str = input("请输入一个字符串")

类型转换函数:

函数 说明
int(x) 将 x 转换为一个整数
float(x) 将 x 转换到一个浮点数

input函数和类型转换函数的使用:

在pycharm中演练一个买苹果的案例,代码如下:

运行结果:

结果表明:两个字符串是不能够相乘的,因为input输入的内容都视为字符串;

 

改进方案:

使用类型转换函数:

输出结果:

 

 

2.5变量的格式化输出

  • 在 Python 中可以使用 print 函数将信息输出到控制台

  • 如果希望输出文字信息的同时,一起输出 数据,就需要使用到 格式化操作符

  • % 被称为 格式化操作符,专门用于处理字符串中的格式

    • 包含 % 的字符串,被称为 格式化字符串

    • % 和不同的 字符 连用,不同类型的数据 需要使用 不同的格式化字符

格式化字符 含义
%s 字符串
%d 有符号十进制整数,%06d 表示输出的整数显示位数,不足的地方使用 0 补全
%f 浮点数,%.2f 表示小数点后只显示两位
%% 输出 %

语法格式如下:

print("格式化字符串" % 变量1)

print("格式化字符串" % (变量1, 变量2...))

演练:

其中用红色标记的错误的语法,用蓝色的是格式不规范。正确的格式影应该是最后y

下面是输出结果:

关于%的输出:%%

下面是一个数据输出比例的案例:

第一条print是有问题的:看输出结果

它将scale输出100遍,而不是扩大100倍。像第二条语句才是扩大100;

猜你喜欢

转载自blog.csdn.net/lily559/article/details/81215599
05