2

「DivingintoPython」を読んでいました。そして、私はこのコードに出くわしました:

    class UserDict:
        def __init__(self, dict=None):
            self.data = {}
            if dict is not None: self.update(dict)

質問:「self.data.update」ではなく「self.update」なのはなぜですか?

4

2 に答える 2

2

のソース コードを見ると、メソッドが個別に定義されUserDictていることがわかります。メソッドは、属性の を呼び出す独自のメソッドを呼び出すだけupdateです。これにより、コードがよりモジュール化され、保守しやすくなります。また、@Ignacio が指摘しているように、メソッドを簡単に拡張またはオーバーライドするために継承する他のクラスにとってははるかに簡単です。__init__updateupdatedataUserDictupdate

于 2012-04-09T03:26:02.850 に答える
0

メソッドを置き換えることで、子供たちが更新操作を簡単に再定義できるようにしupdate()ます。

于 2012-04-09T03:23:05.953 に答える