Python:访问另一个文件中函数中的变量

2023-12-05

我有两个文件:

lib.py

global var
def test():
    var = "Hello!"
    return

test.py

from lib import *
test()
print(var)

但是尽管它们位于同一文件夹中,当我运行 test.py 时,我收到以下错误:

Traceback (most recent call last):
  File "C:\Test\test.py", line 5, in <module>
    print(var)
NameError: name 'var' is not defined

如何在另一个文件的函数中访问此变量?


您需要在使用该变量的范围内将变量声明为全局变量,在本例中是函数test():

def test():
  global var
  var = "Hello!"

注意最后的return不是必需的,因为它是隐含在函数末尾的。还,var是在模块的全局范围内声明的,因此它不会被自动导入from lib import *自从它被创建以来after该模块已导入。

返回varfrom the function 可能是跨模块使用的更好的解决方案:

def test():
  var = "Hello!"
  return var

var = test()
print(var) # Hello!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:访问另一个文件中函数中的变量 的相关文章

随机推荐

  • 在 FORTRAN 中创建名称包含实数的目录

    在我的程序中 我需要存储不同情况的结果文件 我决定创建单独的目录来存储这些结果文件 这里用伪代码来解释具体的情况 do i 1 N N cases of my analysis U SPEED i call write files U Cr
  • Siri 支持无效 - 警告 iTunes Connect

    我将 SiriKit 集成到我的应用程序中以骑书 但将我的应用程序发送到 TestFlight 后 我 收到一封邮件回复 其中包含下一个警告 Siri 支持无效 未提供示例短语 en CO 语言中的 INGGetRideStatusInte
  • Ivy 似乎只获取 javadoc jar

    我在我的项目中使用 Ivy 以及 Ivy Eclipse 插件 看起来下载并添加到我的项目中的某些 jar 是 javadoc jar 而不是带有实际代码的 jar 注意 并非所有罐子都会发生这种情况 例如 将其添加到我的 ivy xml
  • 如何使用jquery删除所有cookie[重复]

    这个问题在这里已经有答案了 可能的重复 使用javascript清除所有cookie 我希望分配一个复选框来一次性激活和清除以前存储在我的表单中的所有 cookie 我该如何使用 jquery cookie 插件来做到这一点 我似乎无法在克
  • 常量构造函数

    在C 中是否可以实现类似于构造函数之类的只允许创建的东西const物体 我正在考虑为接口创建一个装饰器类const和非const方法 从 a 初始化装饰器const基对象应该只能生成 const 装饰器 但从非 const 初始化应该会产生
  • 为什么这段代码会崩溃?

    以下代码会导致堆栈溢出 但我不明白为什么 int tmain int argc TCHAR argv cout lt lt start char bmp 1024 768 3 for int p 0 p lt 9000 p for int
  • 读取网页内容

    你好 我想使用java读取包含德语字符的网页内容 不幸的是 德语字符显示为奇怪的字符 请提供任何帮助 这是我的代码 String link some german link URL url new URL link BufferedRead
  • 如何设置Spark Kmeans初始中心

    我正在使用 Spark ML 来运行 Kmeans 我有一堆数据和三个现有中心 例如这三个中心是 1 0 1 0 1 0 5 0 5 0 5 0 9 0 9 0 9 0 那么我如何表明 Kmeans 中心是上述三个向量 我看到 Kmean
  • Ionic-Framework (4) - Openlayers 地图不工作/不可见

    我尝试将 Openlayers 与 Ionic 一起使用 但地图在 setTimeout 之前不可见 这是我的工作代码 import Component OnInit from angular core import OlMap from
  • 找不到类型或命名空间

    我目前正在尝试将 Visual Studio 2008 中的 WiX 3 5 自定义操作项目转换为 WiX 3 7 和 Visual Studio 2012 但出现以下异常 找不到类型或名称空间名称 MyNamespace 您是 缺少 us
  • 页面加载时,如何让六个函数互相执行?

    当页面加载时 在一个大div中 有六个不同的元素 这些元素有六个不同的函数 我想让这些函数在一定时间后互相执行 例如1000ms 但这六个函数不是绑定到一个元素 它们绑定到六个不同的元素 例如 当页面加载时 我想将Class line1 添
  • 如何使 在 div 内垂直居中? [复制]

    这个问题在这里已经有答案了 代码 div style border solid 1px gray width 400px padding 0px span style background e2e6f0 padding right 4px
  • Apache Commons 文件上传 - 流意外结束

    好吧 我不得不说 到目前为止 这个问题让我难住了 我们在 Tomcat 6 0 18 中运行的 Web 应用程序在文件上传期间失败 但是仅当客户端机器是Windows机器时 仅适用于某些机器 并且适用于所有浏览器 而不仅仅是IE 日志中有堆
  • 将函数应用于列表的每个元素[重复]

    这个问题在这里已经有答案了 假设我有一个类似的列表 mylis this is test another test 如何将函数应用于列表中的每个元素 例如 我该如何申请str upper to get THIS IS TEST ANOTHE
  • 如何在 C# 中执行 SHA1 文件校验和?

    我该如何使用SHA1CryptoServiceProvider 在文件上创建文件的 SHA1 校验和 using FileStream fs new FileStream C file location FileMode Open usin
  • python exec() 中的全局变量和局部变量

    我正在尝试使用 exec 运行一段 python 代码 my code class A object pass print locals s locals print A s A class B object a ref A global
  • 创建确定性有限自动机 (DFA) - Mercury

    我想要在 Mercury 中模拟确定性有限自动机 DFA 但我有几个地方很糟糕 形式上 DFA 具有以下特征 一组状态 S 一个输入字母 E 一个转换函数 S E gt S 一个startState s S setOfAcceptableF
  • Java [unchecked] 未检查的情况警告

    好吧 我环顾四周并做了很多谷歌搜索 但我仍然找不到避免此警告的方法 Integer result chooser showOpenDialog null if result equals 0 String tempHolder choose
  • 无法更改 Android 设备中的语言

    我正在尝试在应用程序中更改设备的语言 我有这个代码 Locale locale new Locale en US Locale setDefault locale Configuration config new Configuration
  • Python:访问另一个文件中函数中的变量

    我有两个文件 lib py global var def test var Hello return test py from lib import test print var 但是尽管它们位于同一文件夹中 当我运行 test py 时