Python中文
首页
教程
问答
标签
搜索
登录
注册
为什么在分配可变内存时,运行在不同控制台上的python脚本会相互影响?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我使用两个控制台来运行python脚本。一个是cmd控制台,另一个是pycharm控制台。令我惊讶的是,<em>结果似乎两个不同的控制台共享相同的内存空间</em>。具体如下图所示。我对四种现象感到困惑</p> <h3>现象1:在同一地址分配的不同控制台中的变量</h3> <p>在cmd控制台中,我创建了三个变量,“a”(地址为<code>0x7ffaf8346290</code>)、“b”(地址为<code>0x7ffaf83462b0</code>)和“c”(地址为<code>0x7ffaf83462d0</code>)</p> <p>在pycharm控制台中,我创建了两个变量“a”(地址为<code>0x7ffaf8346290</code>)和“b”(地址为<code>0x7ffaf83462b0</code>)</p> <h3>现象2:同一地址中的变量不能被两个控制台访问</h3> <p>“c”指向cmd控制台中的地址<code>0x7ffaf83462d0</code>。在pycharm控制台中,<code>3</code>的地址为<code>0x7ffaf83462d0</code>,但无法访问“c”</p> <h3>现象3:一个控制台创建的变量受另一个控制台分配内存的影响</h3> <p>在pycharm控制台中,我创建了另外两个变量<code>c=5</code>(地址为<code>0x7ffaf83462f0</code>)和<code>d=6</code>(地址为<code>0x7ffaf8346310</code>)</p> <p>有趣的是,在cmd控制台中,<code>5</code>的地址是<code>0x7ffaf8346310</code>,与pycharm控制台中的地址相同。并且<code>6</code>的地址是<code>0x7ffaf8346330</code>,具有顺序增长</p> <h3>现象4:列表对象似乎没有受到影响</h3> <p>我分别在两个控制台中创建了两个列表<code>[1,2,3,4]</code>,两个的地址似乎彼此独立</p> <p><a href="https://i.stack.imgur.com/aRh28.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/aRh28.png" alt="cmd console"/></a> <a href="https://i.stack.imgur.com/XAedu.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/XAedu.png" alt="pycharm console"/></a></p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您的两个Python会话根本不会相互影响。它们不以任何方式共享内存。现代操作系统使用<strong>虚拟内存</strong>,其中每个进程都有自己的虚拟内存地址到物理RAM的映射(或可以映射到内存的文件或其他奇怪的东西)。这意味着两个进程可以同时为不同的事物使用相同的虚拟内存地址,而不会相互影响</p> <p>ID值仅保证在同一进程中不同对象<strong>的ID值是不同的,且生命周期重叠</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
尽管Python中的所有内容都是引用,为什么Python导师在没有指针的列表中绘制字符串和整数?
6 回答
尽管python中的表达式为false,但循环仍在运行
4 回答
尽管python代码正确,但从nifi ExecuteScript处理器获取语法错误
5 回答
尽管Python在Neovim中工作得很好,但插件不能识别Neovim中的Python主机
1 回答
尽管python字典包含了大量的条目,但它并没有增长
2 回答
尽管python说模块存在,为什么我会得到这个消息?
6 回答
尽管setuptools和控制盘是最新的,但无法识别singleversionexternallymanaged
9 回答
尽管stdout和stderr重定向,但未捕获错误消息
6 回答
尽管Tensorboard的事件太大,但Tensorboard的步骤太少了
4 回答
尽管tkinter上的变量已更改,但显示未更改
6 回答
尽管try/except使用Python进行单元测试时出现断言错误
5 回答
尽管URL是sam,但仍会抛出“达到最大重定向”
1 回答
尽管url有效,Pandas仍读取url的\u csv错误
10 回答
尽管while中存在时间延迟,但LINUX线程的CPU利用率为100%(1)
5 回答
尽管x0在范围内,Scipy优化仍会引发ValueError
4 回答
尽管xpath正确,但使用selenium单击链接仍不起作用
9 回答
尽管下载了ffmpeg并设置了路径变量python,但没有后端错误
7 回答
尽管下载了i,但找不到型号“fr”
5 回答
尽管下载了plotnine包,但未获取名为“plotnine”的模块时出错
5 回答
尽管为所有行指定了权重,网格(0)仍不起作用
6 回答