中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

加法重載如何在python3項目中實現

發布時間:2020-12-04 15:08:13 來源:億速云 閱讀:141 作者:Leah 欄目:開發技術

加法重載如何在python3項目中實現?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

Python 關于運算符重載的規則:

不能重載內置類型的運算符

不能新建,只能重載

某些運算符不能重載--is、and、or 和 not

Python運算實際上是通過調用對象的特殊方法實現的,比如a+b:

a=20
b=30
c=a+b
d=a.__add__(b)
print("c:",c)
print("d:",c)

運算結果:

c: 50
d: 50

Vector 對于乘法的重載也是類似的:

def __mul__(self, scalar):
  if isinstance(scalar, numbers.Real):
    return Vector(n * scalar for n in self)
  else:
    return NotImplemented
def __rmul__(self, scalar):
return self * scalar

注意這里我們值定義了向量乘以一個數的乘法。嘗試做點乘,矩陣乘法被分配給了@符號,我們也可以做這個定義,然后來運算

def __matmul__(self, other):
  try:
    return sum(a * b for a, b in zip(self, other))
  except TypeError:
    return NotImplemented
def __rmatmul__(self, other):
  return self @ other # this only works in Python 3.5

看完上述內容,你們掌握加法重載如何在python3項目中實現的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

民勤县| 财经| 嵩明县| 扎鲁特旗| 加查县| 水富县| 揭东县| 宣汉县| 邻水| 大同县| 通海县| 乐平市| 佛学| 揭阳市| 会宁县| 华蓥市| 宝清县| 嘉祥县| 子长县| 庄河市| 嫩江县| 诸城市| 岳阳市| 新宁县| 惠东县| 南阳市| 来安县| 化德县| 玛纳斯县| 东城区| 犍为县| 霸州市| 开远市| 射洪县| 乐清市| 西城区| 清丰县| 香河县| 台山市| 秦安县| 全南县|