首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果类的实例将在Python中使用,是否必须导入该类?

如果类的实例将在Python中使用,是否必须导入该类?
EN

Stack Overflow用户
提问于 2018-07-08 09:10:09
回答 1查看 108关注 0票数 0

我用的是婴儿车。在我的代码中,PRAW中的一个类的实例在一个模块中声明并返回。我是否必须在我的主模块中导入类或PRAW才能使用它的子方法和变量?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-08 14:24:04

简短的回答是“不”。

如果您有某个类的实例,则该类的定义已经位于process的某个位置--如果它是在模块中定义的(与使用type动态构造的模块不同),则该模块是在其他地方导入的,并且可以在那里找到类定义。

Python中的“导入”机制非常有效,因此如果您确实导入了一个尚未加载到当前进程中的模块,那么它的代码实际上是运行的。然后,对该模块的引用保存在中央注册表中,该注册表在sys.modules字典(即sys模块中的普通字典)中公开。

每当发生新的模块导入,或者从已经存在的模块中导入名称时,Python所做的就是在导入发生的范围内分配一个变量,引用内存中已经存在的对象--因此,对“已经知道的”对象的import只是一个赋值,与"=“符号执行的任务完全相同。

但是,当您有一个类的实例时,它已经包含了对其类的引用,因此不需要将它带入当前的命名空间中。(该引用位于实例的__class__属性,顺便说一下)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51230457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档