亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶點的 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 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號