在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ python中運(yùn)算符的重載有什么好的方式?

python中運(yùn)算符的重載有什么好的方式?

我想要重載一個(gè)向量的乘法運(yùn)算符。同時(shí)可以計(jì)算向量向量,和向量float
v為向量

    def __mul__(v1, v2):
        return vec3(v1.e[0]*v2.e[0],v1.e[1]*v2.e[1],v1.e[2]*v2.e[2])
    def __mul__(v, t):
        return vec3(t*v.e[0],t*v.e[1],t*v.e[2])

這樣的寫法,很明顯有問題,請問有什么好的解決方案嗎?

........................................................................................
補(bǔ)充
感謝陳力的回答,按照stackoverflow中的思路,代碼修改成以下的樣子了。

    def __mul__(v, par):
        if(isinstance(par,vec3)):
            return vec3(v.e[0] * par.e[0], v.e[1] * par.e[1], v.e[2] * par.e[2])
        else:
            return vec3(par*v.e[0],par*v.e[1],par*v.e[2])

不知道還有沒有什么其他的思路呢? 有從參數(shù)直接入手來實(shí)現(xiàn)類似重載功能的方式嗎?

回答
編輯回答
萌面人

對于你的需求,可以通過判斷 參數(shù)的類型來進(jìn)行不同的處理嘛

2017年7月18日 08:58