Python 类定义和方法

Python 类定义和方法,python,class,methods,lambda,Python,Class,Methods,Lambda,我附加了一些代码的清单,用于一些类定义。我的目标是创建一个具有事件处理程序的类,该类可以在计时器运行时重复任务。在TimerClass中,我在类\uuuuu init\uuuu中定义了一个关于\u timed\u事件的方法。我在main函数a=TimerTest()中安装了一个TimerTest类,发现它也执行事件处理程序 问题1。这是一种在创建对象实例时自动执行函数的方法吗 问题2。我想把ClassA.method1传给ClassB。我在下面的main()passingsm.add()Dela

我附加了一些代码的清单,用于一些类定义。我的目标是创建一个具有事件处理程序的类,该类可以在计时器运行时重复任务。在TimerClass中,我在类
\uuuuu init\uuuu
中定义了一个关于\u timed\u事件的
方法。我在main函数
a=TimerTest()
中安装了一个TimerTest类,发现它也执行事件处理程序

问题1。这是一种在创建对象实例时自动执行函数的方法吗

问题2。我想把ClassA.method1传给ClassB。我在下面的
main()
passing
sm.add()
Delay类中所使用的方法正确吗?是否可以创建Delay类的实例并在一行上动态传递类实例SimpleMath(X,Y)和add()方法的等价物?Lambda函数

import System  
from System.Timers import (Timer, ElapsedEventArgs)

class TimerTest(object):

    def __init__ (self):
        self.timer = Timer()
        self.timer.Interval= 1000
        self.timer.Enabled = True


        def on_timed_event (source, event):
            print 'event from TimerTest class'
            print "The Elapsed event was raised at " , event.SignalTime
            print '------------'

        self.timer.Elapsed += on_timed_event    


class Delay(object):

    def __init__(self,class_method):
       self.delay = Timer()
       self.delay.Interval= 2000
       self.method= class_method

    def on_timed_delay_event (self,sender, event):
       print 'from Delay Class event handler'
       print "event has elapsed event was raised at " , event.SignalTime
       print 'addition results',self.method
       print '------------'

    def start(self):
       print 'Delay timer Start'
       self.delay.Elapsed += self.on_timed_delay_event
       self.delay.Enabled= True


def stop(self):
self.delay.Enabled= False
self.delay.Elapsed -= self.on_timed_delay_event

class SimpleMath(object):

    def __init__(self,a,b):
        self.a =a
        self.b =b

    def add (self):
        return self.a + self.b

def main():

   a = TimerTest()
   sm= SimpleMath(10,12)
   print sm.add()

  t= Delay(sm.add())
  t.start()

if __name__ == '__main__':
   main()
我正在为我的问题补充更多细节。类任务和请求被导入到包含MainForm类的模块中。在MainForm中,我创建了一个Request类的实例,它被传递给使用它的Tab类,并传递给Task类,Task类应该在触发事件时执行任务。在下面的简明清单中,self.myRequest.command1只执行一次。在execute内部分配self.params并打印
None
之后,我添加了一个打印。是否有一种特殊的方式可以传递self.myRequest.command1(arg1、arg2、arg3)

一,

2.不,不需要
()
将函数作为参数传入 A类: 定义某些函数(): 通过

def func_of_func(func):
  return fund()

def main():
  a = A()
  func_of_func(a.some_func) # no parentheses after some_func

我原以为我理解你的答案,但我在将一种方法传递给另一种方法时遇到了问题。我补充了关于我的特殊问题的更多信息。
class A:
  def some_func():
    pass

  def __init__(self):
    self.init = 1

    self.some_func() # just call member function
def func_of_func(func):
  return fund()

def main():
  a = A()
  func_of_func(a.some_func) # no parentheses after some_func