gpt4 book ai didi

python 按类名切换?

转载 作者:行者123 更新时间:2023-11-28 20:29:28 25 4
gpt4 key购买 nike

我目前正在这样做,根据对象的类型做不同的事情:

    actions = {
SomeClass: lambda: obj.name
AnotherClass: lambda: self.normalize(obj.identifier)
...[5 more of these]...
}

for a in actions.keys():
if isinstance(obj, a):
return actions[a]()

是否可以去掉 for 循环,然后做这样的事情?

actions[something to do with obj]()

最佳答案

class SomeClass( object ):
....
def action( self ):
return self.name

class AnotherClass( object ):
....
def action( self ):
return self.normalize( self.identifier )

[5 more classes like the above two]

a.action()

更简单。更清晰。更具可扩展性。少魔法。没有字典。没有循环。

关于python 按类名切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2351525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com