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

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

Python中的反射增廣加法(__iadd__)?

Python中的反射增廣加法(__iadd__)?

慕尼黑8549860 2022-01-11 20:29:38
對于“更好”的更簡單的代碼,我想知道是否可以執(zhí)行保留/反射的增強加法分配。[我已經檢查了 Stack Overflow 是否有類似的問題,但找不到任何問題。因此,如果這是重復我的道歉,請您鏈接答案。]例如,使用字符串正則賦值給出:In[1]:  s = 'foo'In[2]:  s += 'bar'In[3]:  print(s)Out[1]: foobar但是有沒有什么辦法可以用反射的順序來做到這一點,而不用做s = 'bar' + s.那么是否有任何類似于=+(不是真實的)的操作,例如:In[1]:  s = 'foo'In[2]:  s =+ 'bar'In[3]:  print(s)Out[1]: barfoo在此先感謝您的幫助 :)
查看完整描述

1 回答

?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

這在 Python 中不存在。你不能創(chuàng)建一個新的操作符,所以它也不是你可以實現(xiàn)的。但是,沒有問題不能用另一個級別的間接來解決!


class ReflectedAugmentedAssignableString(object):

    def __init__(self, value):

        self.value = value


    def __iadd__(self, other):

        self.value = other + self.value

        return self


    def __unicode__(self):

        return self.value


raastring = ReflectedAugmentedAssignableString("foo")

raastring += "bar"

print(raastring)


>>> "barfoo"

注意:這很糟糕^,請不要這樣做。


查看完整回答
反對 回復 2022-01-11
  • 1 回答
  • 0 關注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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