len()函數(shù)返回一個(gè)對象中的項(xiàng)目個(gè)數(shù)或長度。
len()的語法為:
len(s)
s-序列(字符串,字節(jié),元組,列表或范圍)或集合(字典,集合或凍結(jié)集合)
len()函數(shù)返回一個(gè)對象的項(xiàng)數(shù)。
不傳遞參數(shù)或傳遞無效參數(shù)將引發(fā)TypeError異常。
testList = []
print(testList, '項(xiàng)目個(gè)數(shù)為', len(testList))
testList = [1, 2, 3]
print(testList, '項(xiàng)目個(gè)數(shù)為', len(testList))
testTuple = (1, 2, 3)
print(testTuple, '項(xiàng)目個(gè)數(shù)為', len(testTuple))
testRange = range(1, 10)
print('項(xiàng)目', testRange, '個(gè)數(shù)為', len(testRange))運(yùn)行該程序時(shí),輸出為:
[] 項(xiàng)目個(gè)數(shù)為 0 [1, 2, 3] 項(xiàng)目個(gè)數(shù)為 3 (1, 2, 3) 項(xiàng)目個(gè)數(shù)為 3 項(xiàng)目 range(1, 10) 個(gè)數(shù)為 9
訪問這些頁面以了解有關(guān)以下內(nèi)容的更多信息:
testString = ''
print('字符串', testString, '長度是', len(testString))
testString = 'Python'
print('字符串', testString, '長度是', len(testString))
# byte object
testByte = b'Python'
print('字符串', testByte, '長度是', len(testByte))
testList = [1, 2, 3]
# 轉(zhuǎn)換為字節(jié)對象
testByte = bytes(testList)
print('字符串', testByte, '長度是', len(testByte))運(yùn)行該程序時(shí),輸出為:
字符串 長度是 0 字符串 Python 長度是 6 字符串 b'Python' 長度是 6 字符串 b'\x01\x02\x03' 長度是 3
訪問這些頁面以了解有關(guān)以下內(nèi)容的更多信息:
testSet = {1, 2, 3}
print(testSet, '長度為', len(testSet))
# Empty Set
testSet = set()
print(testSet, '長度為', len(testSet))
testDict = {1: 'one', 2: 'two'}
print(testDict, '長度為', len(testDict))
testDict = {}
print(testDict, '長度為', len(testDict))
testSet = {1, 2}
# frozenSet
frozenTestSet = frozenset(testSet)
print(frozenTestSet, '長度為', len(frozenTestSet))運(yùn)行該程序時(shí),輸出為:
{1, 2, 3} 長度為 3
set() 長度為 0
{1: 'one', 2: 'two'} 長度為 2
{} 長度為 0
frozenset({1, 2}) 長度為 2訪問這些頁面以了解有關(guān)以下內(nèi)容的更多信息:
在內(nèi)部,len()調(diào)用對象的__len__方法??梢詫en()理解為:
def len(s): return s.__len__()
因此,您可以為對象分配自定義長度(如有必要)
class Session: def __init__(self, number = 0): self.number = number def __len__(self): return self.number # 默認(rèn)長度為0 s1 = Session() print(len(s1)) # 給定長度 s2 = Session(6) print(len(s2))
運(yùn)行該程序時(shí),輸出為:
0 6