为什么这个Python不起作用?简单的哎呀

TIM*_*MEX 2 python

class UserDict: 
    def __init__(self, dict=None):             
        self.data = {}                         
        if dict is not None: self.update(dict)
Run Code Online (Sandbox Code Playgroud)

我创建了一个文件"abc.py"并将其放在上面.

>>> import abc
>>> d = abc.UserDict()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'UserDict'
Run Code Online (Sandbox Code Playgroud)

Sve*_*ach 7

当然,您要abc为抽象基类导入Python 模块而不是自己的模块abc.py.最好为模块选择不同的名称.

编辑:当然可能具有相同的名称作为一个内置的模块自己的模块,并导入它.您必须确保您的模块位于解释器的工作目录中或正确设置Python路径.但是避免名称冲突要容易得多 - 特别是在这种情况下,你可能无论如何都不关心模块的名称.

  • `help(abc)`也是诊断这类问题的好工具. (4认同)
  • 是的,您可能没有导入您认为自己的abc.`print abc .__ file__`来检查. (2认同)