caneman

caneman

V2EX 第 101294 号会员,加入于 2015-02-28 19:27:58 +08:00
今日活跃度排名 20955
根据 caneman 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
caneman 最近回复了
62 天前
回复了 caneman 创建的主题 NAS NAS 618 选购,最具性价比的选择是?
@ArmstrongPater 这价格也太香了,今年我看下得 6.5 左右
93 天前
回复了 caneman 创建的主题 Python 怎么实现给抽象方法类增加__call__方法
class A(ABC):

def __call__(self, *args, **kwargs):
obj = super().__call__(*args, **kwargs)
return obj.run()

def __init__(self, name):
self.name = name

@abstractmethod
def run(self):
pass


class B(A):

def __init__(self, name):
super().__init__(name)

def run(self):
print(self.name)
93 天前
回复了 caneman 创建的主题 Python 怎么实现给抽象方法类增加__call__方法
@BingoXuan 比__new__的时机要晚,在 cls.__init__之后(下面的代码不对,但是大概这么个意思)
93 天前
回复了 caneman 创建的主题 Python 怎么实现给抽象方法类增加__call__方法
@BingoXuan
大概这么一个场景,很多类,每个类有细微不同,把里面共同的部分提取出来,放在一个抽象类里面,也定义了一些子类必须实现的方法(代码 1 的部分)

所有这些子类,并不需要保持一个对象,可以看作一个大号的函数,我想实现,所有的子类,能通过 B() 这样就直接执行(代码 2 的部分)

有没有一种方法,能让 B 同时实现两种功能,即在 1 的基础上,让其子类能实现,子类()这样作为一个函数直接执行的功能
93 天前
回复了 caneman 创建的主题 Python 怎么实现给抽象方法类增加__call__方法
@BingoXuan 我想实现的是,B 是一个类,但是可以当作函数用,B(),就直接执行了
求拉 U3ByX0NhbmU=
@chihiro2014 假期也应该先处理前面的订单吧
遇到了, +1 ,我手机习惯静音,靠手表震动提醒,已经好几次错过电话了,有点烦,你们系统是多少,我这边是 8.3
210 天前
回复了 futureeent 创建的主题 推广 [抽奖] 春节将至,整点烤虾带回家吧!
123
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1671 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 17:21 · PVG 01:21 · LAX 10:21 · JFK 13:21
Developed with CodeLauncher
♥ Do have faith in what you're doing.