函数式传参,传值和传值,更改传入函数(不到3年Python开发经验勿进)

mmdee 发布于 2020/01/02 10:20
阅读 420
收藏 0

正在直播: LF AI 基金会主办首届AICON 2022>>>

首先有一个对象MyServer,没有定义任何方法

我可以使用 MyServer.event =my.fun来定义

 

怎么使用一个函数来定义一个方法?

例如我要定义MyServer.event2

使用方法来定义bind(MyServer.event2)

 

def bind(event):

    # 这样肯定是不行的

    event = my.fun2

    这里面来定义这个event,能否实现

 

如果bind 不行,通过对象+加方法名,使用bind(MyServer,"event2")可不可以,怎么实现?

加载中
0
网瘾少年徐志摩
网瘾少年徐志摩

你就是面试造火箭工作螺丝钉的面试官吧

0
倚在哈密路
倚在哈密路
该评论暂时无法显示,详情咨询 QQ 群:点此入群
0
outman
outman
该评论暂时无法显示,详情咨询 QQ 群:点此入群
0
mbzhong
mbzhong
class MyServer:
    pass

class My:
    def func(self):
        print("My.func")
    def func2(self):
        print("My.func2")

def bind(obj):
    obj.event = my.func

def bind2(obj, event_name):
    setattr(obj, event_name, my.func2)

if __name__ == "__main__":
    my = My()
    bind2(MyServer, "event2")
    MyServer.event2()
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部