我正在尝试编写一个可以称为drag
的函数drag('Object1').to('Object2')
。下面的代码可以按我的方式工作,但似乎只使用class
作为容器可能是不必要的:
def drag(source):
class Container:
def to(self, target):
print 'Dragging ' + source + ' to ' + target
return Container()
上述代码可以简化吗?
答案 0 :(得分:2)
我认为您可以使用具有源的类,并且在调用to
时获取目标并打印该消息。您可以致电课程drag
:
class drag:
def __init__(self, source):
self.source = source
def to(self, target):
print 'Dragging ' + self.source + ' to ' + target
或者您可以在代码中使用Container
类,并让drag
只是一个调用初始化程序的函数:
class Container:
def __init__(self, source):
self.source = source
def to(self, target):
print 'Dragging ' + self.source + ' to ' + target
def drag(source):
return Container(source)
我会指出这个函数并没有真正做任何有用的事情,并且尝试编写这样一个有用的类/函数会使你的代码不那么清晰而不添加任何内容。