导入和类混淆

时间:2014-05-23 20:45:28

标签: function class python-2.7

如果我有一个名为init.py的文件:

class main:
    import foo
    import bar

和另一个名为foo.py的文件,如何导入init的“main”类?因为我已经看到这个工作而不是带有函数的类,并且它有点令人困惑,类和函数如何排名。

例如:如果我导入栏,我要导入的内容,类或文件?如果我要导入该课程?那么在类中调用函数呢?

2 个答案:

答案 0 :(得分:0)

在案件中:

# foo.py

import string

class Bar(object):
    ...

def baz(...):
    ...

您有两种选择:

  1. 使用import foo会将foo带入您的命名空间,从而可以访问foo.Barfoo.baz;或
  2. 你可以,例如from foo import bazbaz直接带入命名空间,因此您无需foo.即可访问它。
  3. 请注意,您可以在顶级同时拥有类和函数,这也是import应该完成的地方。

答案 1 :(得分:0)

假设您有一个名为Foo.py的文件,并在该文件中定义了一个名为Foo的类,就像这样。

class Foo:
    def __init__(self, args):
        # perform initialization

现在,您希望在名为main.py的其他文件中使用此类,为简单起见,我们将假设该文件位于同一目录中。你有两个选择。

第一个选项是使用import Foo,然后按Foo.Foo引用该课程。

import Foo
myFoo = Foo.Foo(args)

第二个选项是撰写from Foo import Foo,并按Foo引用该课程。

from Foo import Foo
myFoo = Foo(args)