self []在方法中意味着什么?

时间:2016-08-28 15:20:45

标签: python python-2.7 python-3.x

在阅读python程序时,我曾经发现函数以下列方式使用$('ul').on('click', 'li', function() { var strReqUrl = $(this).find('a').attr('href'); alert(strReqUrl); });

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]在这里意味着什么,或者它做了什么?

1 个答案:

答案 0 :(得分:8)

除了variable[something]意味着什么之外,它并不意味着什么。在Python variable[something]中,表达式只调用variable.__getitem__(something),而self是Python中当前对象或接收者常用的名称,因此self[self._biases_str.format(n) + suffix]将意味着与self.__getitem__(self._biases_str.format(n) + suffix)

几乎相同

我想还有为该类定义的方法__getitem__