Python 运行问题类型错误:';模块';对象不可调用我无法理解为什么会发生这种情况请

Python 运行问题类型错误:';模块';对象不可调用我无法理解为什么会发生这种情况请,python,Python,TypeError:“module”对象不可调用我无法理解为什么会发生这种情况请帮助我不确定当我从超类调用时它是否未读取子类它说它未被调用 import RetailItem import CashRegister def main(): #info1 = ['Jacket', '12', '59.95'] #info2 = ['Designer', '40', '34.95'] #info3 = ['Shirt', '20', '24.95'] print

TypeError:“module”对象不可调用我无法理解为什么会发生这种情况请帮助我不确定当我从超类调用时它是否未读取子类它说它未被调用

import RetailItem
import CashRegister

def main():
    #info1 = ['Jacket', '12', '59.95']
    #info2 = ['Designer', '40', '34.95']
    #info3 = ['Shirt', '20', '24.95']

    print ('there are three items')
    info1 = str(input('whats the description'))
    info2 = str(input('whats the units'))
    info3 = str(input('whats the price'))

    info4 = str(input('whats the description'))
    info5 = str(input('whats the units'))
    info6 = str(input('whats the price'))

    info7 = str(input('whats the description'))
    info8 = str(input('whats the units'))
    info9 = str(input('whats the price'))


    first = CashRegister.RetailItem(info1,info2,info3)
    second = CashRegister.RetailItem(info4,info5,info6)
    third = CashRegister.RetailItem(info7,info8,info9)

    #first1 = CashRegister.CashRegister(info1[0],info1[1],info1[2])
    print ("Description       Units in Inventory          Price\n")


    #print(first.show_items())


    print (first.__str__())
    print (second.__str__())
    print (third.__str__())



#main function

错误消息告诉您RetailItem是一个模块,您不能像调用函数一样调用它,这就是您在这里要做的:

CashRegister.RetailItem(info1,info2,info3)
“像函数一样调用它”意味着您在名称后面写(…)。这是您的进口声明:

import RetailItem
因此,您应该认识到RetailItem是一个模块。如果在RetailItem模块中定义了一个名为do_stuff()的函数,则可以这样调用它:

val = RetailItem.do_stuff()
另一方面,如果RetailItem是在收银机模块中定义的函数,那么您所要做的就是:

import CashRegister


val = CashRegister.RetailItem(...)

RetailItem实际上看起来像是一个类,但在python中创建对象就像调用函数一样。

模块
意味着您只导入了python文件,而不必导入其中的任何内容。如果文件中有一个与Python文件同名的类,则必须从RetailItem导入RetailItem。对于第一次使用python的人来说,这是一个奇怪的错误。

请告诉我们python打印的完整错误。复制粘贴它及其提供的所有详细信息。查看cashrister.py也会很有帮助。这里是错误回溯(最近一次调用):文件“G:\assignment\u beging Python\Brown\u Sherdon\u Ch11part2\7.cashrister.py”,第36行,在main()文件“G:\assignment\u beging Python\u Sherdon\u Ch11part2\7.cashrister.py”的第20行,在main first=cashrister.RetailItem中(info1、info2、info3)TypeError:“module”对象不可调用模块只是一个包含一些python代码的文件。您可以在模块中定义函数。要调用在模块中定义的函数,请在其前面加上模块名,例如MyModule.myfunc()。您有责任知道您导入的模块中定义了哪些函数。我们无法帮助您。仅尝试猜测模块中定义了哪些函数是徒劳的:import SomeModule;#嘿,我想知道该模块中是否有名为icabodCrane()的函数:print SomeModule.icabodCrane()。这就是您要做的。顺便说一句,您可以在文本编辑器中打开一个模块(也就是一个包含一些python代码的文件),查看该文件,查看模块中定义了哪些函数,然后知道可以在模块中调用哪些函数。