【问题标题】:Import related error, simple program导入相关错误,简单程序
【发布时间】:2014-05-07 00:24:53
【问题描述】:

好的,所以我的朋友让我帮忙完成这个小程序。我真的不会编写任何代码,去年尝试编写 Python 代码。所以当我尝试运行程序时,它会说

Traceback (most recent call last):
   File "C:/Python33/program.py", line 38, in module
      import example1
ImportError: No module named 'example1'

这是程序:


class example1:



    def __init__(self, nopeus, halkaisija, vari, paalla):
        self.__nopeus = nopeus
        self.__halkaisija = halkaisija
        self.__vari = vari
        self.__paalla = paalla

    def set_nopeus(self, nopeus):
        self.__nopeus = 'nopeus'

    def set_halkaisija(self, halkaisija):
        self.__halkaisija = 'halkaisija'

    def set_vari(self, vari):
        self.__vari = 'vari'

    def set_paalla(self, paalla):
        self.__paalla = 'paalla'

    def get_nopeus(self):
        return self.__nopeus

    def get_halkaisija(self):
        return self.__halkaisija

    def get_vari(self):
        return self.__vari

    def get_paalla(self):
        return self.__paalla



import Example1

def main():
    oma_example1 = example1.Example1()
    print (oma_puhallin.get_nopeus)

main()

【问题讨论】:

  • 当他与班级在同一个文件中时,他尝试导入并不重要
  • 请注意,在类成员名称中使用两个前导下划线 (__foo) 将触发 name mangling,如果您计划子类化 Puhallin,这很可能不是您想要的行为。
  • @LukasGraf ...因为它们都有getter/setter,我认为这是所需的行为(最接近python的私有变量)

标签: python class import traceback


【解决方案1】:
#import Puhallin

def main():
    oma_puhallin = Puhallin("nopeus", "halkaisija", "vari", "paalla")
    print (oma_puhallin.get_nopeus() ) #this is a method not a variable

main()

同一个文件不需要导入

【讨论】:

  • 现在它说:回溯(最近一次调用最后一次):文件“C:/Python33/program.py”,第 44 行,在 main() 文件“C:/Python33/program .py”,第 41 行,在 main oma_puhallin = puhallin.Puhallin() NameError: global name 'puhallin' is not defined
  • 是的,我的错...忘了摆脱那个...现在它固定了
  • TypeError: __init__() 缺少 4 个必需的位置参数:'nopeus'、'halkaisija'、'vari' 和 'paalla' 这就是它现在所说的。
  • 它在其 init 方法中接受参数(您显然已定义)...(编辑我的答案以包含它们?)...
猜你喜欢
  • 2012-12-09
  • 2013-04-11
  • 1970-01-01
  • 2012-04-18
  • 1970-01-01
  • 2011-03-10
  • 2023-03-23
  • 1970-01-01
  • 2013-11-13
相关资源
最近更新 更多