带点的 Python 函数

我定义了一个调用的有序对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)?


qq_笑_17
浏览 117回答 2
2回答

肥皂起泡泡

您可以将有序对包装到您自己的类中,其中包含您在其中提到的方法(类中的方法 == 函数)。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

慕姐4208626

点用于使用对象名称访问类的方法。如果要使用点运算符访问它,请为具有方法 applyfunction 的类创建一个名为 f 的对象。然后你就可以完成你想要的任务
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python