第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從子類方法更改或覆蓋 str

從子類方法更改或覆蓋 str

慕無忌1623718 2021-10-19 16:15:49
我在繼承的類中覆蓋 str 時遇到了問題。有沒有辦法做類似的事情?class Sentence(str):    def input(self, msg):        """Extend allow to hold one changing object for various strings."""        self = Sentence(input(msg))    def simplify(self):        self = self.lower()        self.strip()我想更改包含在該類中的字符串,以用于各種用途。有沒有辦法做到這一點?因為我從堆棧中嘗試了很多東西,但沒有人幫助我。@編輯:有一個解釋我想做什么: 在 init 中,我初始化 Sentence 類:self.sentence = Sentence("") Mainloop,用戶可以在其中更改 Sentence:self.sentence.input("Your input:")之后我想簡化算法的字符串:self.sentence.simplify()這就是全部,之后我想使用 self.sentence 之類的字符串。但在這兩種方法中:    def input(self, msg):        """Extend allow to hold one changing object for various strings."""        self = Sentence(input(msg))    def simplify(self):        self = self.lower()        self.strip()字符串沒有改變。
查看完整描述

1 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

由于諸如 Python 之類的優(yōu)化語言對字符串執(zhí)行(即它們是不可變的,因此可以重用相同的字符串),我認為從 str 繼承不是一個好習慣,相反,您可以編寫一個包裝字符串的類:


class Sentence:

    def __init__(self, msg: str):

        self.msg = msg


    def simplify(self):

        self.msg = self.msg.lower().strip()

通過這種方式,您可以改進您的實現(xiàn),例如,如果您經常更改字符串并且遇到性能問題。


查看完整回答
反對 回復 2021-10-19
  • 1 回答
  • 0 關注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號