关于python的特殊方法
程序员文章站
2022-05-04 13:12:56
最近在阅读《流畅的python》这本书,在第一章中作者就提到了几个python中的特殊方法,代码入下: __init__(self)方法大家都很熟悉,可以把它理解为类的构造函数。 __len__(self)方法是用来返回对象长度的特殊方法,实际上是调用len()方法获取对象长度,由于在这个例子中,对 ......
最近在阅读《流畅的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).
上一篇: 乾隆在宴会上给三千老人吃了什么东西 很多人回去没过多久为什么就去世了
下一篇: 每个人的责任心都很强
推荐阅读
-
php-求大神解答 关于PHP项目提升性能的方法
-
关于SQL Server 2008忘记sa密码修改sa密码的方法图解
-
Awesome图标和css特殊字体的使用方法_html/css_WEB-ITnose
-
关于JSP页面点击按钮没反应,方法没有执行的检查
-
Python动态加载模块的3种方法
-
关于React处理input的方法和多个input共用一个方法(不用jQuery)
-
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
-
Python __slots__的使用方法
-
Python使用tablib生成excel文件的简单实现方法
-
Python简单连接MongoDB数据库的方法