如何从另一个类调用类内的函数

嗨,你好啊,
你能帮我找出我的错误吗?我肯定这是一个简单的错误。我只是想更好地理解Python中的类(通过艰难的方式学习Python)。
基本上,我希望Test2中的print tokay函数在从TestClass1调用后运行

选择 | 换行 | 行号
  1. class Testclass1(object):
  2.  
  3.     def __init__(self, var1):
  4.         self.printthis = var1
  5.  
  6.     def printthing(self):
  7.         lookatme = self.printthis
  8.         Testclass2(lookatme).printokay()
  9.  
  10. class Testclass2(object):
  11.     def __init(self, var2):
  12.         self.okayletsprint = var2
  13.  
  14.     def printokay(self):
  15.         print "this is text"
  16.         print self.okayletsprint
  17.  
  18. a = Testclass1("jumbo")
  19. a.printthing()
  20.  
# 回答1


您在测试8.2.__init__(Self)中遗漏了两个下划线字符。
# 回答2


好的,下划线也包括在内--感谢您的关注。
我一直在更改它,现在当我运行它时,它仍然不打印(没有错误消息-什么都没有)。

选择 | 换行 | 行号
  1. class Testclass1(object):
  2.  
  3.     def __init__(self, var1):
  4.         self.printthis = var1
  5.  
  6.     def printthing(self):
  7.         lookatme = self.printthis
  8.         Testclass2.printokay(lookatme)
  9.  
  10. class Testclass2(object):
  11.     def __init__(self, var2):
  12.         self.okayletsprint = var2
  13.  
  14.     def printokay(self):
  15.         print "this is text"
  16.         print self.okayletsprint
  17.  
  18. a = "jumbo"
  19. Testclass1(a).printthing
  20.  
# 回答3


要调用实例的函数或方法,必须包括圆括号。
测试类1(A).打印()
# 回答4


太好了,谢谢。对于任何有类似问题的人,我们都附上了修正后的代码。

选择 | 换行 | 行号
  1. class Testclass1(object):
  2.  
  3.     def __init__(self, var1):
  4.         self.printthis = var1
  5.  
  6.     def printthing(self):
  7.         Testclass2().printokay()
  8.  
  9. class Testclass2(object):
  10.     def __init__(self):
  11.         self.okayletsprint = 1
  12.  
  13.     def printokay(self):
  14.         print "this is text"
  15.         print self.okayletsprint
  16.  
  17.  
  18. a = Testclass1("jumbo bitch")
  19. a.printthing()
  20.  
  21.  

标签: python

添加新评论