【问题标题】:Python Method CallPython 方法调用
【发布时间】:2013-06-14 04:52:58
【问题描述】:
class AlarmBox(Widget):


    hour = ["12","1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11"]
    tensMin = ["0", "1", "2", "3", "4", "5"]
    onesMin = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
    day = ["AM", "PM"] 
    txt_inpt = ObjectProperty(None)


    def print1(self):
        self.txt_inpt.text("HI")

    XXXXXXX

如何在对象中调用 print1?

我尝试在 XXXXXX 做事

  1. self.print1()
  2. self.print1(self)
  3. print1(self)
  4. primt1()
  5. c = AlarmBox()
  6. c.print1()

在java中你可以这样做:

this.print1() 或 print1() !

【问题讨论】:

  • 您收到错误消息了吗?

标签: python class function methods


【解决方案1】:

您也可以在 python 中执行此操作,但您需要在某些时候执行您的代码:

class AlarmBox(Widget):


    hour = ["12","1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11"]
    tensMin = ["0", "1", "2", "3", "4", "5"]
    onesMin = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
    day = ["AM", "PM"] 
    txt_inpt = ObjectProperty(None)


    def print1(self):
        self.txt_inpt.text("HI")

    # XXXXXXX

    def print1_caller(self):
        self.print1()

XXXXX 不是执行代码的地方,它是定义类成员变量和方法的地方。

【讨论】:

    【解决方案2】:

    在最外层(与class AlarmBox 相同的缩进级别,您可以声明不属于该类的代码:

    c = AlarmBox()
    c.print1()
    

    问题是您在XXXXXX 的代码在类中。

    【讨论】:

      【解决方案3】:

      使用构造函数

      def __init__(self):
          self.print1()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-09-03
        • 2013-11-08
        • 2021-12-23
        • 2022-11-21
        • 2020-06-12
        • 2012-04-01
        • 2015-11-23
        • 1970-01-01
        相关资源
        最近更新 更多