- 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的值存储到内存中。程序执行到这个表达式时,计算机会从内存中读取变量的值,并进行乘法运算。这时就会涉及到内存的分配和访问。