[英]Is there a way in Python to tell specific function how to manipulate with my class objects?
我可以告訴另一個包中的某個函數如何使用用戶定義的類對象進行操作嗎?
例如,我有一個課:
class Complex:
def __init__(self, real, imag):
self.real = real
self.imag = imag
// ...
z = Complex(3, 5)
我想以某種方式覆蓋math.sin()函數來處理我的復數,例如:
z1 = math.sin(z)
這應該根據以下公式創建新的復數:sin(a + bi)= sin(a)* cosh(b)+ icos(a)* sinh(b)
呼叫
print(z1)
應該打印
/// 10.472508533940392 - 73.46062169567367i
有辦法嗎?
我建議您為自己的課程編寫自己的方法。 否則,您可以使用稱為“猴子修補”的東西。
import math
def sin(x):
do_stuff...
math.sin = sin
但我仍然認為,為您的課程編寫一個新函數是一個更好的主意
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.