2 回答

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
至于你的第一個(gè)問題:改變內(nèi)置類基本上是不可能的。雖然你可能會(huì)干擾其他類,但這通常是一個(gè)糟糕的主意。相反,您可以創(chuàng)建一個(gè)具有所需屬性的子類。
例如:
class mystr(str):
def __add__(self, other):
return mystr(str(self) + str(other))
此代碼繼承了該類的所有屬性str,除了我們要更改的屬性(即其添加行為)。通過強(qiáng)制轉(zhuǎn)換self,str我們?nèi)匀晃?tostr的添加,但我們還將其他參數(shù)強(qiáng)制轉(zhuǎn)換為str以獲得您所描述的行為。
最后,我們返回到,mystr這樣我們就不會(huì)得到str.
現(xiàn)在我們可以執(zhí)行以下操作:
>>> some_string = mystr("abc")
>>> some_string + 4
"abc4"

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊
你可以這樣做:
class stringclass:
def __init__(self, mystring):
stringclass.mystring = mystring
def add(self, number):
stringclass.mystring = stringclass.mystring + repr(number)
然后:
myobject = stringclass("My age is ")
“添加”號(hào)碼:
myobject.add(46)
然后檢查對(duì)象:
print(myobject.mystring)
這會(huì)給你:
My age is 46
(不過,我根本不知道這有什么用處。)
添加回答
舉報(bào)