gpt4 book ai didi

类实例的 Python 平方根

转载 作者:行者123 更新时间:2023-11-28 21:34:14 25 4
gpt4 key购买 nike

我目前正在实现一个可以处理与物理单位相关的数字数据的类。

我想实现一种计算实例平方根的方法。假设您有一个具有属性值和名称的类的实例:

from math import sqrt

class Foo:
def __init__(self, value, name)
self.value = value
self.name = name

def __sqrt__(self):
return sqrt(self.value)

我想实现一个类似于 等魔术方法的功能添加 (self, other) 当我调用 math.sqrt() 函数时将计算平方根:
A = Foo(4, "meter")
root = math.sqrt(A)

应该返回调用A。 平方 () 功能。

最佳答案

你不能不重新分配 math.sqrt到自定义函数。如果要允许 Foo投给 intfloat你可以实现__int____float__并在调用 math.sqrt 之前进行转换:

class Foo:
def __init__(self, value, name)
self.value = value
self.name = name

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

def __int__(self):
return int(self.value)

A = Foo(4, "meter")
root = math.sqrt(float(A))

编辑:根据下面的评论,您似乎可以调用 math.sqrt(A)直接如果 Foo实现 __float__由于数学模块的实现方式。我仍然宁愿明确而不是隐含。

关于类实例的 Python 平方根,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53654178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com