现在的位置: 首页 > 综合 > 正文

TypeError: ‘module’ object is not callable 原因分析

2013年08月02日 ⁄ 综合 ⁄ 共 556字 ⁄ 字号 评论关闭

程序代码 

class Person:
     #constructor
     def __init__(self,name,sex):
          self.Name = name
          self.Sex = sex
     def ToString(self):
          return 'Name:'+self.Name+',Sex:'+self.Sex


在IDLE中报错:
>>> import Person
>>> per = Person('dnawo','man')
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    per = Person('dnawo','man')
TypeError: 'module' object is not callable
原因分析:
Python导入模块的方法有两种:import module 和 from module import,区别是前者所有导入的东西使用时需加上模块名的限定,而后者不要。
正确的代码:
>>> import Person
>>> person = Person.Person('dnawo','man')
>>> print person.Name

>>> from Person import *
>>> person = Person('dnawo','man')
>>> print person.Name

抱歉!评论已关闭.