小白编程基础(一)变量

小白编程基础(一)变量在编程语言中,变量通常有个名称,叫做变量名。变量的定义包括三个部分:1.变量名 2.赋值符号 3.变量值。

什么是变量?

通过字面理解,变量就是会变的一个量。

在编程语言中,变量通常有个名称,叫做变量名。

变量可以做什么?

可以把各种数据赋值给一个变量名,用变量名代替要操作的数据。

变量可以临时存储用户输入的内容,或某个计算的结果。

在Python中如何使用变量?

变量在使用前必须先定义。

变量的定义包括三个部分:1.变量名 2.赋值符号 3.变量值。

定义一个变量名a,通过赋值符号= 将右边的变量值1,赋值给变量名a。

小白编程基础(一)变量

变量名a所指向的值为1,可以直接使用变量名a来操作数据。

2.使用变量进行输出,通过print函数传入变量名a,将会输出变量名a的值。

a = 1
print(a)

上面的代码执行结果等价于下面

print(1)

上面两段代码,最终输出结果都是1。

可以为变量赋各种类型的值

可以这样

a = '圣诞快乐'
a = 'hello'
a = 1 + 1

第3行代码将 1+1的结果赋值给了变量a。

还可以这样

a = 1
b = 9
c = a + b

第3行代码将 a+b 的结果赋值给了变量c。

通过 input() 函数,可以读取用户的输入内容

a = input()
print(a)

可以实操一下上面的代码

第一行代码,通过 input() 函数读取输入的内容赋值给变量a

第二行代码,通过 print() 函数输出变量a的内容。

变量大白话理解

电脑可以处理各种数据,前提是电脑要能记住我输入的数据内容。

所以需要一个东西来临时存储输入的数据这个东西就是变量

为什么编程语言中需要有变量的概念?

假设这个世界上没有变量,你写的代码就没这么可爱了!!!

你需要通过CPU指令,自己去操作电脑上内存卡的物理地址。

比如下面

假设你是Windows系统的开发人员,你所编写的操作系统代码,需要在电脑开机时去指定的物理地址加载数据,数据加载出错或者硬件问题,都将导致开机失败,然后抛一个错误出来,比如蓝屏代码:STOP:0X0000007B

小白编程基础(一)变量

上面的错误是不是很不好理解?小白排查问题一般就直接问度娘。

这个是微软系统开机失败才特有的蓝屏代码,不同架构的操作系统和不同的CPU指令集操作内存的指令都不相同。

青铜用户疑问️

你的代码中有变量名a,我写的代码中也有变量名a,

如果这两个代码在同一台电脑上同时运行,是不是会互相影响?

答案是:不会!

虽然大家都是变量a,但是代码运行起来后,使用的是不同的内存空间

比如你写的代码,运行起来后,变量a对应的实际内存地址是

0x10b89eaf0

而我写的代码,运行起来后,变量a对应的实际内存地址是

0x10dca6af0

虽然俩份代码都有变量a,但实际代码运行起来,操作系统会为不同的程序分配不同的地址空间,程序与程序之间的运行地址是完全隔离的。

操作系统使用变量这种抽象方式,屏蔽了底层的复杂度,同时也屏蔽了不同程序之间操作同一块内存的问题。

在Python中如何输出变量所在的内存地址️

在python中,可以通过id()函数来输出变量所在的内存地址:

a = 1
print(id(a))

id(a),会得到变量a的十进制内存地址,然后通过print函数输出。

上面的代码你可以自己手动实操一下。

如果想输出十六进制地址,可以再套娃一下,使用hex()函数

a = 1
print(hex(id(a)))

为了小白便于理解,可以等价于下面的代码

a = 1
b = id(a)
c = hex(b)
print(c)

既然变量是隔离的,那游戏外挂是如何实现的?️

比如我正在玩一个游戏,能不能定位到游戏金币所在的变量,然后把值改大?

答案是:可以

前面虽然说到程序之间的内存地址是隔离的,你的程序无法影响其他程序,但是可以通过一些特殊手段获取目标程序在操作系统中的实际内存地址,然后通过直接修改内存地址的方法来达到目的。

有关游戏外挂和更加详细的底层细节,后面会单独写一系列扫盲篇文章,此处不展开说了。

变量的终极奥义

变量其实是在计算机内存中开辟一块存储空间,用变量名来代替内存地址,通过操作变量名的方式来操作内存地址中的值,使编程人员不用关心变量到底存在物理硬件的哪个位置。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/4081.html

(0)
编程小号编程小号
上一篇 2023-08-24
下一篇 2022-12-26

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注