Menu
CoddyTech

Kiểm tra danh tính

Thuộc phần Logic và luồng chương trình trong hành trình Python của Coddy. Bài học 26 trên 78.

Trong Python, các toán tử is và is not dùng để kiểm tra danh tính của các đối tượng. Khác với toán tử ==, dùng để kiểm tra xem hai biến có cùng giá trị hay không, toán tử is kiểm tra xem hai biến có tham chiếu đến chính xác cùng một đối tượng trong bộ nhớ hay không.

Cách dùng cơ bản của is:

a = [1, 2, 3]
b = a
c = [1, 2, 3]

print(a is b)  # Đầu ra: True
print(a is c)  # Đầu ra: False

Trong ví dụ này, a và b cùng tham chiếu đến một đối tượng danh sách, vì vậy a is b trả về True. Tuy nhiên, a và c là hai đối tượng danh sách khác nhau nhưng có cùng giá trị, vì vậy a is c trả về False.

Cách dùng cơ bản của is not:

x = 5
y = 5
z = 10

print(x is not y)  # Đầu ra: False
print(x is not z)  # Đầu ra: True

Ở đây, x và y cùng tham chiếu đến một đối tượng số nguyên (do Python tối ưu hóa các số nguyên nhỏ), nên x is not y trả về False. x và z là hai đối tượng khác nhau, nên x is not z trả về True.

Phép kiểm tra định danh đặc biệt hữu ích khi bạn muốn xác định xem hai biến có cùng trỏ đến một đối tượng trong bộ nhớ hay không, thay vì chỉ có cùng giá trị.

challenge icon

Thử thách

Dễ

Tạo hai biến, list1 và list2, trong đó:

  • list1 tham chiếu đến một danh sách [1, 2, 3].
  • list2 được gán cùng một đối tượng.

Dùng toán tử is để kiểm tra xem list1 và list2 có tham chiếu đến cùng một đối tượng hay không.
Dùng toán tử is not để kiểm tra xem list1 và list2 có tham chiếu đến các đối tượng khác nhau hay không.
In ra kết quả kiểm tra.

Tự làm thử

# Viết code ở đây
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch Python online