栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从另一个文件导入和更改变量

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从另一个文件导入和更改变量

如果您所指的“变量”是一个可变值,那么您所要求的将起作用。

fileB:

my_variable = ["a list with a string in it"]

fileA:

from fileB import my_variable  # import the valuemy_variable.append("and another string")

之后

fileA
已加载
fileB.my_variable
将在这两个值。

但是,这仅适用于可变值。如果变量是不可变的,则其中的代码

fileA
无法将其更改到位,因此您会遇到问题。无法直接解决此问题,但是有很多方法可以解决此问题并仍然获得所需的结果。

最简单的方法就是使用

import fileB
代替
from fileB importmy_variable
fileB
只需使用类似的名称,即可在命名空间中进行任何操作
fileB.whatever
。您可以将名称空间中的内容重新绑定到您内心的内容:

fileB:

my_variable = 1    # something immutable this time

fileA:

import fileBfileB.my_variable = 2   # change the value in fileB's namespace

那可能是最简单的方法。

另一种解决方案是将不可变变量放在可变容器内,然后修改容器而不是变量。例如,如果字符串

"a list with a string init"
是我们要在第一个示例中更改的值,则可以简单地为分配一个新值
my_variable[0]
(而不是附加)。

一种常见的方法是将值放入字典,列表甚至是类(或其中一个的可变实例)中。然后,您可以导入容器对象并对其进行突变以更改您关心的值。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669128.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号