程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python magic method (8):__ len __ (self) method

編輯:Python

Python There are some magical ways to do it , They are always surrounded by double underscores , They are object-oriented Of Python Everything . They are special ways to add magic to your classes , If your object implements ( heavy load ) A magic method , Then this method will be automatically used in special cases Python The call .

function

Definition object is len() The behavior of a function call .

Parameters

self Represents the object itself .

Return value

It must be an integer , Otherwise, an exception will be thrown .

Example

class MyTest(object):
def __init__(self):
self.name = 'ab'
self.age = 22
def __len__(self):
# len() Functions generally return objects ( Sequence ) Length or number of elements
return len(self.__dict__)
sample = MyTest()
print(len(sample))
 If a class behaves like a list, How many elements do you want to get , You have to use it. len() function .
Must let len() The function works normally , Class must provide a special method __len__(), It returns the number of elements .
Example 
class Students(object):
def __init__(self, *args):
self.names = args
def __len__(self):
return len(self.names)
s = Students('a', 'b', 'c')
print(len(s))

len() and __len__() The difference between

1. usage :len(filename),filename.__len__().

2. return :len() Returns the length of the passed in parameter ; If there is no right __len__() Custom return value of , The length of the input parameter is returned , Otherwise, the custom object will be returned .

3. difference :len() Is the function ,__len__() Is the method , If there is no right __len__() Custom return value of , The length of the input parameter is returned .


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved