2016-08-28 1 views
2

파이썬 프로그램을 읽을 때, 나는 한 번 함수가 다음과 같은 방식으로 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

도 거기에 있어야하는'\'backticks \'입니까? –

답변

7

variable[something]의 의미 일뿐입니다. 표현의 파이썬 variable[something]에서 단지 variable.__getitem__(something)를 호출 self 종래 파이썬에서 현재 객체, 또는 수신기에 사용되는 이름입니다, 그래서 방법이 거의 같은 것 같아요

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

관련 문제