python下的变量
不需要预先声明变量的类型,变量的类型和值在赋值的那一刻被初始化(声明和定义的过程一起完成)
在python中, 每一个变量在内存中创建,我们可以通过变量来查看内存中的值
哈哈,这里是不是很熟悉,跟c中的指针一样啊(访问内存中的值)
首先大家需要了解一点:在python中:
x =5之后,我们要了解它的过程:系统先是找了一块内存,将5存储了进去,紧接着x指向了当前的这块内存
预测1:python下的变量是一个指针
> x = 4 > y = 5 > print x 4 > print y 5 > id(x) 10413988 > id(y) 10413976 > x = y > id(x) 10413976 > id(y) 10413976 >
从上面我们可以看到:
x = 4
说明x指向了内存中存储为4的那个地址,那个地址是10413988
y = 5
说明y指向了内存中存储为5的那个地址,那个地址是10413976
也就是说在执行x = 4,y = 5之后,x,y分别指向了不同的地址,当执行 x = y之后:
也就是说,x指向了y所指向的内存了,这里我们知道,它们都指向同一块内存
哈哈,原来跟c里面的指针真的一样哎!!!哈哈哈
(但是,但是,但是:就这些吗??)
> x = 4 > print x 4 > id(x) 10413988 > x = 5 > print x 5 > id(x) 10413976 >
好,我们大家接着看:
也就是说:开始的时候,x指向了10413988这块内存,里面存储的是4
当执行了x = 5之后,也就变成了这样:
好,ok就是这样了,
不知道大家注意到了吗?
在python中,一开始初始化存储在内存的东西是不可以更改的,我们所能更改的只是它的指向,
但是,但是,在c中,对于int x= 4; 也就是说x的地址是定的,里面存储的东西可以更改
#include <stdio.h> int main(){ int x = 4; printf("%p %d\n", &x, x); x = 5; printf("%p %d\n", &x, x); return 0; }
我们大家再看一下运行结果:
从上面可以看到,地址并没有变,好了,这一点,python和c的区别较大,希望大家注意。
二: 内存大小
我们来看一下这样的代码:
> x = 6 > id(x) 10413964 > y = 7 > id(y) 10413952 > z = 8 > id(z) 10413940 >
从上面的程序中,我们知道系统给分配的地址分别是:
10413964 10413952 10413940
所以我们大胆推测,python中应该给这些整数的字节有可能就是12(哈哈,纯属个人推测)
有可能内存中就是这样了的:
哈哈,也该就是这样子了, 至于其他的大小,有兴趣的朋友可以研究研究
三:python内存
是不是说:在python中,系统将每一个值都放在了一个固定的位置,不然为什么,每一次探究内存地址的时候,结果都是一样的(数值相等,地址也相等)
> x = 4 > y = 5 > id(x) 10413988 > id(y) 10413976 >
假如系统为4分配了一块内存,遵循某种规则(类似于c里面的内存对齐),那么接下来为5分配了另一块内存,权且分配到了10413976
那么下面这个如何解释:
> x = 4 > y = 6 > id(x) 10413988 > id(y) 10413964 >
假如遵循某种规则的话,应该是6也分配到了10413976去了,可是,他被分配到了10413964
我们再来看:
> x = 4 > y = 6 > id(x) 10413988 > id(y) 10413964 > z = 5 > id(z) 10413976 >
这,哈哈,应该就是这样的了的吧!!!!
也就是说:python中,系统还是python本身为其分配内存的时候就已经根据这个值是多少,确定了内存的位置了。。。
以上这篇python中的变量如何开辟内存就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
python,变量内存
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。