python之常量和变量的理解

1.什么是常量和变量

粗略的理解:
常量:永不不变的量
变量:可以变化的量

详细的来看:
常量:程序中使用的具体的数、字符。在运行的过程中,数值无法更改。
变量:表示一个存储单元,将程序运算的中间结果临时存储在内存,以便在后续代码方便调用,其中存储的值可以修改。

2.为什么会有常量和变量?

如果我们在命令行多次使用相同的数据,需要多次输入,当我们再次输入相同的数据的时候,会消耗内存。但是我们通过一个容器去承载数据,重复使用的时候调用即可。变量和常量都是一个可以存储数据的容器。

3.常量和变量的区别

常量和变量主要区别在于它们的值是否能被改变。常量是不能被改变的数字、字符串或其他类型的值,而变量则可以随时改变其值。在Python中,并没有语法上的强制手段来保证常量不被修改,因此使用全大写字母表示常量更多的是一种约定俗成的做法。

Python中没有使用语法强制定义常量,也就是说,Python中定义常量本质上就是变量

4.变量的命名规范及使用

变量使用前需要声明变量,变量包括全局变量和局部变量。全局变量的作用范围是整个程序,局部变量的作用范围是函数内部。全局变量可在函数内直接访问,如果需要修改需要在函数内部使用 global 变量名 提前声明,全局变量和局部变量的具体用法将在后续文章中展示。

声明变量:
变量名=变量值
a=1,b=3.14,c=“hello”

# 声明变量
a=1
b=3.14
c="hello"

变量的命名:
1.只能包含字母、数字、下划线。
2.只能以字母、下划线开头
3.不要使用关键字作为变量名称(关键字是Python解释器内部定义的标识符,已经被赋予了功能和含义,例如:“def”,“print”,“and”,“if”等等)

变量的赋值方式:
1.变量可以使用非关键字的名字命名
2.通过等号赋值,将右边的值赋值给左边。(可以理解为右边的内容存储在左边的空间地址,如果是个变量,则将该变量的值赋值给左边的变量,右边变量的值仍然存在)

我们举例测试一下:

a=1
b=0
b=a
print(a)
print(b)

在这里插入图片描述

注意:两个变量相等,只能说明两个变量存储的值相等,不代表两个相同的值存储的空间地址相等。Python中的变量可以看作是对内存中某个位置的引用,而内存地址则是Python解释器为对象分配的实际存储空间。这是因为Python中的对象可能有多个引用,每个引用都指向同一个对象,但是它们的内存地址是独立的。

我们进行一下测试:




# 创建一个不可变对象,例如字符串
a1= "Hello"

# 创建另一个相同内容的不可变对象
a2 = "Hello"

# 使用 id() 函数获取两个变量的内存地址
address1 = id(a1)
address2 = id(a2)

# 打印两个变量的内存地址
print(f"地址1: {address1}")
print(f"地址2: {address2}")

# 创建一个可变对象,例如列表
var1 = [1, 2, 3]

# 创建另一个相同内容的可变对象
var2 = [1, 2, 3]

# 使用 id() 函数获取两个变量的内存地址
address3 = id(var1)
address4 = id(var2)

# 打印两个变量的内存地址
print(f"地址3: {address3}")
print(f"地址4: {address4}")

我们可以看一下输出结果
在这里插入图片描述
很多人可能诧异,为什么两个变量存储相同的值得到的空间地址是一样的。因为字符串是不可变对象,Python解释器可能对相同的字符串值进行优化,使其重用内存地址。那为什么相同的代码执行两次,存放的地址不一样呢。

而后面我们创建的相同内容的列表变量,它是一个可变对象。每次创建新列表的时候,Python都会分配一个新的内存地址。因此var1和var2的值通常是不同的。

感谢你的阅读,关注我,精彩继续!

  • 30
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值