为了账号安全,请及时绑定邮箱和手机立即绑定

带点的 Python 函数

带点的 Python 函数

qq_笑_17 2023-06-13 17:20:02
我定义了一个调用的有序对f,并定义了一个函数applyfunction,该函数遍历有序对,查看要比较的第一个值,并在匹配时打印第二个值。f = {(1,2),(2,4),(3,6),(4,8)}def applyfunction (f,x):    for xy in f:        if xy[0]==x:            print(xy[1])applyfunction(f,3)上面的工作就像我想要的那样。与此同时,我看到在 python 中有一些函数有一个点符号,我认为这在这里很有用。所以我的问题是,如何重写applyfunction定义以便我可以使用以下符号:f.applyfunction(3)?
查看完整描述

2 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

您可以将有序对包装到您自己的类中,其中包含您在其中提到的方法(类中的方法 == 函数)。


class OrderedPairWrapper():

    

    def __init__(self, op):

        self.op = op

    

    def applyfunction (self, x):

        for xy in self.op:

            if xy[0]==x:

                print(xy[1])


f = {(1,2),(2,4),(3,6),(4,8)}

f = OrderedPairWrapper(f)


print(f.applyfunction(3))

# 6


查看完整回答
反对 回复 2023-06-13
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

点用于使用对象名称访问类的方法。如果要使用点运算符访问它,请为具有方法 applyfunction 的类创建一个名为 f 的对象。然后你就可以完成你想要的任务



查看完整回答
反对 回复 2023-06-13
  • 2 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信