Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中导入类的对象_Python - Fatal编程技术网

如何在python中导入类的对象

如何在python中导入类的对象,python,Python,我在模块实践课上有一节课,如下所示。 练习/example.py class Example : #some code# e1= Example(); e2= Example(); 我有practice/\uuuuu init\uuuuuuuuy.py from example import Example 我有main.py import sys , python_practice e3 = python_practice.Example(); from python_

我在模块实践课上有一节课,如下所示。 练习/example.py

class Example :

    #some code#

e1= Example();
e2= Example();
我有
practice/\uuuuu init\uuuuuuuuy.py

from example import Example
我有main.py

import sys , python_practice


e3 = python_practice.Example();


from python_practice import *

e1.sum(1,2);
但我也有错误

Traceback (most recent call last):
File "practice.py", line 11, in <module>
e1.sum(1,2);
NameError: name 'e1' is not defined
回溯(最近一次呼叫最后一次):
文件“practice.py”,第11行,在
e1.总和(1,2);
NameError:未定义名称“e1”
我哪里出错了


是否可以将类的对象导入到另一个模块?

\uuuu init\uuuu
为包设置名称空间。由于
\uuuu init\uuuu
导入
示例
,因此
示例
在包名称空间中可用(例如
python\u practice.Example
)<代码>e1在那里不可用,因为您在
\uuuu init\uuuu
中所做的任何操作都不会使
e1
在那里可用

当然,你几乎总能到达那里

from python_practice.example import e1

应该可以工作。

\uuuu init\uuuu
为包设置名称空间。由于
\uuuu init\uuuu
导入
示例
,因此
示例
在包名称空间中可用(例如
python\u practice.Example
)<代码>e1在那里不可用,因为您在
\uuuu init\uuuu
中所做的任何操作都不会使
e1
在那里可用

当然,你几乎总能到达那里

from python_practice.example import e1

应该可以。是的,你只需要导入它

当您从python\u practice import*执行
操作时,您将获得
practice/\uuuu init\uuuuuuuuuy.py
中定义的所有内容。在
\uuuu init\uuuuu.py
中,您不会导入
e1
,因此也不会从python导入它


如果希望
e1
在顶级
python\u practice
中可用,则需要在
\uuuu init\uuuuuu.py
中导入它。将那里的代码从示例导入示例e1、e2更改为

是的,您只需导入它

当您从python\u practice import*
执行
操作时,您将获得
practice/\uuuu init\uuuuuuuuuy.py
中定义的所有内容。在
\uuuu init\uuuuu.py
中,您不会导入
e1
,因此也不会从python导入它


如果希望
e1
在顶级
python\u practice
中可用,则需要在
\uuuu init\uuuuuu.py
中导入它。将那里的代码从示例导入示例e1、e2更改为

如果假设python_实践模块中没有init.py,我如何导入对象?还有其他方法吗?如果没有
\uuuu init\uuuu.py
,则根本没有包,因此根本无法导入。如果路径上直接有
practice
目录,则可以使用示例导入示例e1、e2中的
导入该目录,但创建名为
example
的顶级包可能不是一个好主意。Hello BrenBarn。。。。。谢谢你的帮助。现在我有一个不同的问题。我需要一些帮助。在上面的例子中,我知道类的实例是e1或e2。但在我的应用程序中,我设法将对象名作为字符串。有了这个字符串,我怎样才能访问该对象。@mkreddy:你应该单独问这个问题。如果我在python_实践模块中没有init.py,我怎样才能导入该对象?还有其他方法吗?如果没有
\uuuu init\uuuu.py
,则根本没有包,因此根本无法导入。如果路径上直接有
practice
目录,则可以使用示例导入示例e1、e2中的
导入该目录,但创建名为
example
的顶级包可能不是一个好主意。Hello BrenBarn。。。。。谢谢你的帮助。现在我有一个不同的问题。我需要一些帮助。在上面的例子中,我知道类的实例是e1或e2。但在我的应用程序中,我设法将对象名作为字符串。有了这个字符串,我怎样才能访问这个对象。@mkreddy:你应该单独问这个问题。