关于python的特殊方法

2018-07-17 04:06:11来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

最近在阅读《流畅的python》这本书,在第一章中作者就提到了几个python中的特殊方法,代码入下:

 1 class FrenchDuck:
 2     ranks = [str(n) for n in range(2, 11)] + list('JQKA')
 3     suits = 'spades diamonds clubs hearts'.split()
 4 
 5     def __init__(self):
 6         self._cards = [Card(rank, suit) for suit in self.suits for rank in self.ranks]
 7 
 8     def __len__(self):
 9         return len(self._cards)
10 
11     def __getitem__(self, position):
12         return self._cards[position]

__init__(self)方法大家都很熟悉,可以把它理解为类的构造函数。

__len__(self)方法是用来返回对象长度的特殊方法,实际上是调用len()方法获取对象长度,由于在这个例子中,对象是一个集合所以返回的是集合的长度。

__getitem__(self,posititon)方法倒是第一次见,作者的解释是这样的:

 比如obj[key]的背后就是__getitem__方法,为了能求得my_collection[key]的值,解释器实际上会调用my_collection.__getitem__(key).

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python简介

下一篇:斜杠反斜杠,去空格\xa0,连接函数join()