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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Python 中自定義類的字符串格式

Python 中自定義類的字符串格式

牛魔王的故事 2021-10-26 18:22:07
我IntegerMod為整數(shù)模一個(gè)素?cái)?shù)編寫了一個(gè)自定義類。一切正常。然后將它們用作用 構(gòu)建的多項(xiàng)式的系數(shù)numpy.poly1d,并設(shè)法實(shí)現(xiàn)足夠的方法,IntegerMod以便對(duì)這些多項(xiàng)式的操作按我的需要工作(例如,找到給定一堆點(diǎn)的插值多項(xiàng)式)。只剩下一點(diǎn)細(xì)節(jié),那就是print(pol)那些多項(xiàng)式實(shí)際上失敗了,因?yàn)?Python 嘗試對(duì)%g系數(shù)使用字符串格式,但未能說(shuō)明IntegerMod應(yīng)該是字符串還是數(shù)字。實(shí)際上IntegerMod繼承自numbers.Number,但似乎還不夠。我的問(wèn)題是,我可以在我的班級(jí)中實(shí)現(xiàn)字符串格式的行為嗎?如果沒(méi)有,我應(yīng)該如何處理這個(gè)問(wèn)題?產(chǎn)生錯(cuò)誤的 MWE:import numbersimport numpy as npclass IntegerMod(numbers.Number):    def __init__(self, k, p):        self.k = k % p        self.p = p    def __repr__(self):        return "<%d (%d)>" % (self.k, self.p)if __name__ == "__main__":    p = 13    coef1 = IntegerMod(2, p)    coef2 = IntegerMod(4, p)    print(coef1)  # Works as expected    pol = np.poly1d([coef1, coef2])    print(pol)    """ # error:        s = '%.4g' % q        TypeError: float() argument must be a string or a number, not 'IntegerMod'    """
查看完整描述

1 回答

?
青春有我

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊

也許您應(yīng)該實(shí)現(xiàn)該__float__方法,因?yàn)?poly1d 格式需要浮點(diǎn)數(shù)。

像這樣的東西

    def __float__(self):
            return float(self.k)


查看完整回答
反對(duì) 回復(fù) 2021-10-26
  • 1 回答
  • 0 關(guān)注
  • 228 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)