Hàm len() trong Python

Hàm len() trong Python trả về độ dài (số lượng ký tự) của chuỗi được chỉ định. Cú pháp của hàm len() như thế nào, nó có những tham số gì và cách sử dụng ra sao? Mời bạn đọc theo dõi.

Cú pháp hàm len() trong Python

len(chuoi)

Các tham số của hàm len()

Hàm len() có 1 tham số:

  • chuoi: chuỗi ký tự (có thể là string, bytes, tuple, list, range, dictionary, set hoặc frozen set) mà bạn muốn tính toán độ dài.

Giá trị trả về từ len()

  • Hàm len trả về số lượng ký tự của chuỗi đầu vào. Nếu không truyền tham số hoặc tham số không hợp lệ thì chương trình phát sinh ngoại lệ TypeError.

Ví dụ 1: Hàm len() hoạt động thế nào với tham số là tuple, list và range?

testList = []
print(testList, 'co do dai la', len(testList))

testList = [1, 2, 3]
print(testList, 'co do dai la', len(testList))

testTuple = (1, 2, 3)
print(testTuple, 'co do dai la', len(testTuple))

testRange = range(1, 10)
print('Do dai cua', testRange, 'la', len(testRange))

Chạy chương trình, kết quả trả về là

[] co do dai la 0
[1, 2, 3] co do dai la 3
(1, 2, 3) co do dai la 3
Do dai cua range(1, 10) la 9

Ví dụ 2: Hàm len() hoạt động thế nào với tham số là string và byte?

testString = ''
print('Do dai cua', testString, 'la', len(testString))

testString = 'Quantrimang'
print('Do dai cua', testString, 'la', len(testString))

# byte object
testByte = b'Quantrimang'
print('Do dai cua', testByte, 'la', len(testByte))

testList = [1, 2, 3]

# converting to bytes object
testByte = bytes(testList)
print('Do dai cua', testByte, 'la', len(testByte))

Chạy chương trình ta được kết quả trả về là:

Do dai cua la 0
Do dai cua Quantrimang la 11
Do dai cua b'Quantrimang' la 11
Do dai cua b'\x01\x02\x03' la 3

Ví dụ 3: Hàm len() hoạt động thế nào với tham số là dictionary và set?

testSet = {1, 2, 3}
print(testSet, 'co do dai la', len(testSet))

# Empty Set
testSet = set()
print(testSet, 'co do dai la', len(testSet))

testDict = {1: 'mot', 2: 'hai'}
print(testDict, 'co do dai la', len(testDict))

testDict = {}
print(testDict, 'co do dai la', len(testDict))

testSet = {1, 2}

# frozenSet
frozenTestSet = frozenset(testSet)
print(frozenTestSet, 'co do dai la', len(frozenTestSet))

Ta được kết quả trả về là:

{1, 2, 3} co do dai la 3
set() co do dai la 0
{1: 'mot', 2: 'hai'} co do dai la 2
{} co do dai la 0
frozenset({1, 2}) co do dai la 2

Khi thực thi, len() gọi phương thức __len__ của đối tượng nên bạn cũng có thể hình dung về hàm len() là:

def len(s):
return s.__len__()

Vì vậy, bạn có thể gán độ dài tùy chỉnh cho đối tượng (nếu cần).

Ví dụ 4: Hàm len() hoạt động thế nào với các đối tượng tùy chỉnh?

class Session:
def __init__(self, number = 0):
self.number = number

def __len__(self):
return self.number


# độ dài mặc định là 0
# viết bởi Quantrimang.com
s1 = Session()
print(len(s1))

# gán chiều dài tùy chỉnh
s2 = Session(6)
print(len(s2))

Chạy chương trình, kết quả trả về nhận được là:

0
6

Bài trước: Hàm int() trong Python

Bài tiếp: Hàm getattr() trong Python

Thứ Ba, 12/03/2019 16:38
52 👨 530