美文网首页
pyhton导入不同模块中的类出错问题

pyhton导入不同模块中的类出错问题

作者: 嘿嘿_小于同学 | 来源:发表于2016-11-24 14:59 被阅读1052次
1、今天使用python实现工厂模式中,定义一个抽象的产品类Person,注意这个抽象类的模块名与类同名(Person.py),在Man模块中需要实现Person.py模块中的抽象类Person(同名真是坑)。就出现下面的错误。
import Person
"""具体的产品"男人""""
class Man(Person):    
     def say(self):        
         print '我是男人'
if __name__ == '__main__':
    man = Man()

错误提示:

TypeError: Error when calling the metaclass bases
    module.__init__() takes at most 2 arguments (3 given)

二、解决

Python的模块名个类名是在两个不同的名字空间中。比如我们输入import Person,此时并没有把Person类引入到当前的命名空间中。不信我们来试试。
type(Person)
从提示可以看出来,我们没有将Person类引入,而是将与类同名的Person模块引入进来(蜜汁尴尬)。

再来看一个:

type(Person)
真是作死有没有?

以后还是将模块名和类名区分开来好了,这样的坑遇到就不要再犯。

相关文章

  • pyhton导入不同模块中的类出错问题

    1、今天使用python实现工厂模式中,定义一个抽象的产品类Person,注意这个抽象类的模块名与类同名(Pers...

  • Python 类

    第一个实例: 继承 将实例用作属性 从一个模块中导入多个类 导入整个模块 导入模块中的所有类 类编码风格建议 类名...

  • 12python 类和模块

    1.导入单个类 2.从一个模块中导入多个类可以在一个模块中存储多个类,那么导入类的时候就可以导入多个类 3.导入整...

  • python模块以及包管理

    一、模块的导入方式 1、 import方式导入(绝对导入):在后续代码中调用此模块中的类,函数,属性等都是通过:模...

  • python学习第五天

    将类导入到模块中,所有功能依旧可以使用,而且让主程序简洁、易读。 从一个模块中导入多个类:from 模块名 imp...

  • Day09 - 2018-04-11

    导入模块技巧 还有一些在不同情形下很有用的其他形式的import语句。 要从模块中导入单个函数或类: from m...

  • 在scrapy爬虫过程中模块无法导入问题的解决

    (1)在scrapy框架下的爬虫文件中,当我们导入自己定义好的数据模块时,发现无法导入,总是报出错误提示。 (2)...

  • 跟着大大学python(48)

    9.4.6 在一个模块中导入另一个模块 需要将内分散的多个模块中,以免模块过大,或在同一模块中存储不相关的类。将类...

  • 【python学习日记】模块导入、面向对象

    1.模块导入 将代码按照不同的功能拆分放到不同的.py文件中,每个.py文件就是一个模块。不同模块中的变量名可以相...

  • 13-核心编程1

    模块导入问题 如何导入模块:import sys如何查看该模块路径:print(sys.path)如何要导入的模块...

网友评论

      本文标题:pyhton导入不同模块中的类出错问题

      本文链接:https://www.haomeiwen.com/subject/phbbpttx.html