PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Python
[问题] class.__new__ 使用疑问
楼主:
papple23g
(逆道者)
2018-12-09 23:52:33
今天在网络上查到
想要让class物件直接回传东西,可以用__new__的方法来达成
不过使用了之后发现,在该class下面写的函数都会失效
以下是范例程式(使用Python2):
class MyList(object):
def __new__(cls,input_list):
return input_list
def __init__(self,input_list):
self.input_list=input_list
def Sum(self):
return sum(self.input_list)
li=MyList([1,2,3])
print li # [1, 2, 3]
print li.Sum # AttributeError
请问该如何改写才正确呢?
谢谢
作者:
ThxThx
(洗洗睡)
2018-12-10 00:07:00
把__new__和__init__想成是初始化物件的不同阶段通常是因为继承然后又想修改derived class的行为大部分的情况用到__new__是anti pattern至于改写,你没有说明你期待的功能是什么?抱歉我前面说错 修改回传instance的行为 但通常跟继承有关你想做的叫built-in types subclassing
https://stackoverflow.com/q/14484749
继续阅读
[问题] def 内呼叫其他py档def
leoone
[问题] 不影响循环效率情况下倒数
XperiaZ6C
[问题] 新手问ptt政黑版爬虫
askdrlin
[问题] print画面资料 写出一个档
newdas
print的结果 如何写出在一个档案
newdas
[问题]Selenium没办法爬 MOMO购物网
a6409tw
[问题] 解方程式
kottey
[问题] 重复执行py档并纪录结果
newdas
Re: [心得] PTT Library
jay20210
[问题] 有关于鼠标点击座标并写入档案
a00011111143
Links
booklink
Contact Us: admin [ a t ] ucptt.com