创建新的类对象

时间:2010-02-26 10:33:17

标签: python

我在f1.py文件中的python cl1中有2个类,在f2.py文件中有cl2。我写了import f2

import f2

class cl1:
  a = f2.cl2()

但我在a = f2.cl2()中看到错误:模块对象没有属性'cl2'

为什么?

谢谢。

2 个答案:

答案 0 :(得分:1)

抱歉,我错了: 你的问题可能是你有一个循环导入:f1导入f2,反之亦然。 检查你的设计,因为通常应该可以在没有循环导入的情况下设计你的软件。

请参阅:this

答案 1 :(得分:0)

以下代码工作得很好(如果您使用的是Python 3,则可以省略(object)部分,但在Python 2中您应该将它们保留 - 他们不对您的错误负责,但是如果你习惯于省略它们,随着代码的增长,你将来会遇到奇怪的问题......):

f2.py是:

class cl2(object):
  pass

f1.py是:

import f2

class cl1(object):
  a = f2.cl2()

如果您的代码无效,则必须与此不同。请确认这个简单的代码适合您,然后告诉我们(通过编辑您的原始问题发布评论或“答案”)您的非工作代码如何不同(缺乏进口,循环进口,错误的进口或其他任何东西)。