Hàm dir() trong Python

Trong Python, hàm dir() trả về một danh sách các thuộc tính hợp lệ của đối tượng. Quantrimang sẽ tìm hiểu kĩ hơn về nội dung hàm này qua bài viết. Mời bạn đọc theo dõi.

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

dir([object])

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

Dir() chỉ trả về kết quả cho một đối tượng.

object: đối tượng được dir() trả về danh sách thuộc tính, tham số không bắt buộc.

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

Dir() sẽ trả về một danh sách các thuộc tính hợp lệ của đối tượng.

Nếu đối tượng có hàm __dir__() thì khi gọi dir sẽ trả về đầy đủ các thuộc tính.

Nếu đối tượng không có __dir__() thì hàm sẽ cố gắng tìm thông qua __dict__() (nếu có). Trong trường hợp này, danh sách thuộc tính trả về từ dir() có thể không đầy đủ.

Nếu không truyền object vào dir() thì sẽ trả về thuộc tính trong phạm vi cục bộ hiện tại.

Ví dụ 1: Hàm dir() hoạt động thế nào?

number = [1, 2, 3]
print(dir(number))

print('\nGia tri tra ve tu dir() khong truyen object')
print(dir())

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

['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', 
'__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__',
'__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__',
'__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__',
'__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append',
'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']


Gia tri tra ve tu dir() khong truyen object
['__annotations__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__',
'__spec__', 'number']

Ví dụ 2: dir() với object do người dùng định nghĩa

class Person:
def __dir__(self):
return ['age', 'name', 'salary']

teacher = Person()
print(dir(teacher))

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

['age', 'name', 'salary']

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

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

Thứ Sáu, 14/12/2018 23:29
4,36 👨 3.518
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
    ❖ Học Python