刚开始学习python中的变量用法时:

1,,,在程序中可随时修改变量的值,而python将始终记录变量的最新值。

 

2,,,变量名只能包含字母,数字,和下划线,可以字母或下划线打头,但不能以数字打头。

 

3,,,变量不是数据类型,只是内存中临时放置数据的空间名称,不同于其它内存数据,对变量的操作一定要存回变量中去,不然只是暂时操作,最后打印出来的结果还是不会改变,例如name.rstrip()

 

学到上面卡住了。。。

 

程序是微观层面的事物,我们只能借助思维能力对其进行探索,大多数新人学python都会把变量理解为盒子,可是这样的类比在遇见变量的操作方法时会理解不通,比如对变量操作name.rstrip(),按把变量类比于盒子的理解,变量在进行操作后不需要存回变量中,即程序不需要写入name=name.rstrip()这一行代码(和正常的数据结构一样),但是丢失这一行代码,最后打印出来的变量结果还是对变量操作之前的结果,这表明对变量的操作只是暂时的,而不是永久的,因为正常的数据结构在操作完之后就是永久保存,无需存入这一行代码,这就告诉我们,变量并不是盒子,那么变量类比于什么好呢?

python的底层是C语言,变量可以类比于标签,指针都可以,在给变量赋值时,并不是把值丢入盒子中并把之前的值拿出,而是给新的值开辟出另一块内存空间,变量指向新开的内存,在给变量进行操作的时候,只是暂时操作数据拿来给程序运行,指针指的还是这块内存地址,最后打印出来还是原来的变量,这样也就能说得通,为什么变量在操作完之后要重新赋值给变量,也就是新开一个内存地址,指针指向新的,这样值才能改变,不然最后打印出的结果还是最初的变量,而不是操作完之后的变量。

 

如上,如果把变量1赋值给变量2,对变量2进行操作,最后得到的结果是2个变量都为【1,2,3】,说明变量是2个指针都指向同一个开辟出来的内存空间,而不是分别有自己的内存空间,不然就会得出变量1是【1,2】

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/li-yon/p/15269024.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!