【python入门——附录2】变量

文章讲述了CPU中的寄存器和内存如何存储变量的值,强调了寄存器的高速特性和内存的大容量特点。变量和常量在程序中的作用被区分,变量可变,常量不可变。最后讨论了在编程中使用变量的原因以及计算表达式时是否涉及内存分配的问题。
摘要由CSDN通过智能技术生成
  • CPU中的寄存器,内存,变量三者之间的关系。

cpu相当于工厂,寄存器相当于工厂里的小仓库,变量的值通常会被存储在寄存器这个小仓库中。

内存相当于工厂外的仓库。

变量相当于仓库里和流水线上的货箱子

变量的值相当于货箱子里面的货物

函数就是在工厂里,在流水线上加工货物的机器。


  • 寄存器,内存,变量 。这三者密切相关。

寄存器是CPU内部的一组高速存储器件,用于存储CPU需要频繁访问的数据。在程序执行时,变量的值通常会被存储在寄存器中,以便CPU可以快速地访问它们。因为寄存器的访问速度非常快,所以将变量存储在寄存器中可以提高程序的执行效率。

然而,寄存器的数量非常有限,而且每个寄存器的容量也很小。因此,当变量的数量或大小超过了寄存器的容量时,就需要使用内存来存储变量的值。内存是一种较慢但容量较大的存储器件,可以存储大量的数据。

在程序中,变量的值通常会被存储在内存中。当程序需要使用变量的值时,CPU会将变量的值从内存中读取到寄存器中,然后对其进行计算。当计算完成后,CPU会将结果存储回内存中。

因此,寄存器和内存都是与变量密切相关的存储器件。在程序中,变量的值可能会被存储在寄存器或内存中,取决于变量的数量和大小。

变量

和变量相对应的叫常量。

变量和常量他俩是干什么用的?

变量和常量都是用来存储数据的。

不同之处在于,变量的值可以被修改,而常量的值在程序运行时不能被修改。

在程序中,变量通常用于存储会变化的数据,例如用户输入的数据、程序计算的结果等等。在Python中,可以使用赋值语句来给变量赋值,例如:


x = 10
y = 20

a = 5
b = a

print(b)
print(a)

在这个例子中,

变量x和y分别被赋值为10和20。

变量a被赋值为5

然后把a的值赋值给b

易错点:此时打印a的值是多少?答:是5

总结一下变量的特点:“有赋值的过程”

常量则用于存储不会改变的数据,例如数学常数、程序中的配置参数等等。在Python中,可以使用关键字`const`来定义常量,例如:

const PI = 3.1415926
const MAX_SIZE = 100

在这个例子中,PI和MAX_SIZE都是常量,它们的值在程序运行时不能被修改。


如果 a=2,请问a是常量还是变量?

在这个语句中,a 被赋值为2,因此a是一个变量。

变量是程序中用于存储数据的一种抽象概念,它可以在程序运行时被赋值修改。在这个例子中,a是一个整数类型的变量,它的初始值为2。在程序执行过程中,我们可以对a进行读取和修改操作,例如将a的值修改为3:a = 3。


然后看下面这个例子:

print(2+3)

print(2*3)

a = 5+3
print(a)
print(5*a)
print(5*"a")

控制台输出:
5
6
8
40
aaaaa

计算机明明可以直接计算2*3,为什么还要设置变量?(变量和函数有什么关系)

计算机确实可以直接计算2*3,但是在实际编程中,我们通常需要对数据进行处理和操作,这时候就需要用到变量。

比如,我现在要算一个长方形水池面积,但是我不知道长和宽。

工人师傅正在量,量完了才能告诉我们。

咋办呢?

等量出来了,告诉我们长是多少,高是多少。然后我们就得一直坐在电脑前面等着消息,知道长宽之后,再去敲代码去算。麻不麻烦?

如果我写了一个函数,这个函数的作用是,接受两个值,并且将这两个值相乘,再把算出来的结果返回。我把这个程序放到一个app里。工人师傅量好水池长宽,是不是自己往里面一输,面积就算出来了。是不是我就不用坐在电脑前等着了,师傅自己就能算了。

有同学说,师傅怎么不用计算器啊?你觉得计算器是怎么算出来的?


计算2*3的时候,计算机会分配内存吗?

答案:在计算2*3的时候,计算机不需要分配内存。这是因为2和3是常量,它们的值是在编译时就确定的,不需要在程序运行时再分配内存。

当程序执行到2*3这个表达式时,计算机会直接将2和3加载到CPU的寄存器中,然后进行乘法运算,最终得到结果6。在这个过程中,并没有涉及到内存的分配和访问。

需要注意的是,如果我们使用变量来计算2*3,那么计算机会在内存中为这个变量分配空间,并将2和3的值存储到内存中。程序执行到这个表达式时,计算机会从内存中读取变量的值,并进行乘法运算。这时就会涉及到内存的分配和访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DFminer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值