在Python中作为函数指针的类字段

2024-10-17 21:43:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在我的类点上有一个函数指针。在

class Point:
  coord=[]

  def value(self,p_coord:list=coord):
    return abs(self.val(p_coord))

  def __init__(self,p_coord:list,p_val):
    self.coord=p_coord
    self.val=p_val

我试图传递一个指向字段“val”的函数指针,但是当我试图用value()方法调用函数时,它返回0:

^{pr2}$

如何将函数传递给类字段?在


Tags: selfreturninitvaluedefvalabslist
1条回答
网友
1楼 · 发布于 2024-10-17 21:43:49

value中的默认值coord是第2行的class属性,它与__init__中设置的实例属性self.coord不同。所以函数指针工作正常,只是看错了列表。在

你可以做的是:

def value(self, p_coord=None):
    if not p_coord:
        p_coord = self.coord
    return abs(self.val(p_coord))

相关问题 更多 >