[問題] class str繼承問題

看板Python作者 (HIHIHI)時間10年前 (2013/12/28 20:36), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/2 (看更多)
class S(str): def __init__(self,a='',b='',c=''): str.__init__(self,a) self.a=a;self.b=b;self.c=c s = S(1) ==> OK s = S(1,2,3) ==> 會有錯: str() takes at most 1 argument (3 given) 想請問問題是出在哪,感謝回答 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.161.90.124

12/28 20:52, , 1F
str.__init__(self,a) str 只接受1個參數~
12/28 20:52, 1F

12/28 20:58, , 2F
12/28 20:58, 2F

12/28 21:38, , 3F
S繼承str,所以S的__init__無法接受2個參數(含)以上
12/28 21:38, 3F

12/29 06:39, , 4F
重點不是 str.__init__, 是因為 str 是 type 而非 class
12/29 06:39, 4F

12/29 06:40, , 5F
連結中的回答沒有問題, 樓上的解讀有誤
12/29 06:40, 5F

12/29 06:42, , 6F
(關鍵字 immutable object)
12/29 06:42, 6F

01/02 23:26, , 7F
TKS,不過連結所說是__new__()無法接受2個參數,不是__init__()
01/02 23:26, 7F
文章代碼(AID): #1IliNfIW (Python)
文章代碼(AID): #1IliNfIW (Python)