特殊メソッド
を使ってなんやらかんやら。
といっても__call__を使っただけだけど。
class Foo: def __init__(self, n): self.x = n def __call__(self, n): return self.x * n def Fooo(n): return lambda x: x*n def main(): foo10 = Foo(10) print foo10(5) fooo10 = Fooo(10) print fooo10(5) foo100 = Foo(100) print foo100(5) fooo100 = Fooo(100) print fooo100(5) if __name__ == "__main__": main()
結果
D:\workspace\Python\3-10>python emu.py 50 50 500 500