2 回答

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

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