文章目的:
帮助大家从功能和本质的角度去看待python中的变量
1.文章使用的环境和编辑器:
环境(python解释器):python 3.10
编辑器:pycham 社区版
2.python变量的定义:
(变量在数学上也有定义,所以如果直接去理解定义的话,很有可能会使大家混淆。
所以从功能和本质工作原理的角度去解读我认为会比较好)
功能上的定义:
变量在 Python 中的主要功能是:
-
存储数据:变量可以保存各种类型的数据(如整数(int)、字符串(str)、列表(list)、元组(Tuple)字典(dic)对象等)。
-
引用数据:通过变量名可以访问或修改其指向的数据。
人话环节:
上面的意思我用简单的话来说就是:你现在有许多物品(数据),你要把这些数据储存在一个地方(内存),你把你储存的地方叫了一个名字(变量)。
形式:makeup_bag(变量)=(赋值号,指向)"cosmetics"(数据)
本质上的定义:
2. 本质上的运作
Python 变量的本质是 “名字到对象(数据)的绑定”,其核心特点包括:
(1) 变量是对象的引用
-
Python 中一切皆对象(整数、字符串、函数等都是对象)。
-
变量本身不存储数据,而是指向内存中的对象。
(例如a = 5
表示变量a
指向整数对象5
)
(2) 动态类型
-
变量无需声明类型,类型由赋值的对象决定。
(例如x = 10
时x
是整型,x = "hello"
后变为字符串类型)
(3) 赋值即绑定
-
赋值操作(
=
)是将变量名绑定到一个对象。
(如y = x
表示y
和x
指向同一个对象)
人话环节:
第一:(1)中说的意思就是,变量自己是不包含数据的,数据是储存在内存之中的,变量只有一个指向作用。
第二:(2)中说的是当我们对同一变量赋值时,python解释器会根据数据类型 自己改变 变量的类型。
第三:(3)中说的是当给y(变量)=(赋值)x(变量),就是将x的数据内存地址分享给y。
特别注意:当变量被重新赋值时,变量上一个储存的数据空间会被释放,以免有一个变量指向两个数据的情况。
如:
内部应该就是这样变化(本人自己的个人理解(小白))
扩展:这里使用了一个print()库 , 功能:把数据打印出来 使用形式print(数据 )
总结:
在python中,变量就是一个指向数据地址的的标签,再次赋值时会释放之前的地址。
变量的形式是:变量(x,y,z,name.....)=(赋值号) 数据 (
数据如:整形(int),浮点(float),字符串(str),元组(tuple),列表(list),集合(set),字典(dic))
小结:其实我们学习语言就是在学习一门工具,所以说练习是必不可少的,本人是小白所以,也会和大家一起去练习,诸君共勉!
作业(本人找deep seek出的一些题,大家也可以多多分享资源,来一起学习):
1.代码分析:以下代码的输出是什么?为什么?
a = [1, 2]
b = a
b.append(3)
print(a)
2.函数传参:以下代码的输出是什么?解释原因
def change(x):
x = 10
num = 5
change(num)
print(num)
-
可变 vs 不可变:编写代码验证以下结论:
-
修改整数变量会创建新对象。
-
修改列表变量不会创建新对象。
-