2016-08-28 5 views
2

Pythonプログラムを読むとき、私はかつて関数を見つけましたselfを次のように使います。メソッド内でself []は何を意味していますか?

class Auto(object): 
    _biases_str = "biases{0}" 

    def _b(self, n, suffix=""): 
    name_b_out = self._biases_str.format(i + 1) + "_out" 
    return `self[self._biases_str.format(n) + suffix]` 

name_b_out = self._biases_str.format(i + 1) + "_out"のラインはつまり、私たちは常にself.何かを定義するために、私にはいつも見えます。しかし、私はself[self._biases_str.format(n) + suffix]の使用法についてはっきりしていません。具体的には、self[]の意味は何ですか?それは何ですか?

+3

もそこにあるはずの '\'バッククッキー\ 'でしょうか? –

答えて

7

variable[something]の意味ではありません。式の中のPython variable[something]でちょうどvariable.__getitem__(something)を呼び出し、selfは、従来、Pythonで現在のオブジェクト、または受信機のために使用される名前なので、方法があるほとんど同じ、私は推測する

self.__getitem__(self._biases_str.format(n) + suffix)としてself[self._biases_str.format(n) + suffix]は意味しますそのクラスに対しても__getitem__が定義されています。

+0

[定期購入](https://docs.python.org/3/reference/expressions.html?highlight=subscriptable#subscriptions) – wwii

関連する問題