Kiểm tra xem một biến có null trong python # không
Sử dụng toán tử is để kiểm tra xem một biến có null trong Python không, ví dụ: if my_var is None:. Toán tử is trả về Copied! Copied!
Copied!
my_var = None # ✅ Check if variable is None if my_var is None: # 👇️ this runs print('variable is null') # ✅ Check if variable is NOT None if my_var is not None: print('variable is not null')Lưu ý rằng không có giá trị
Copied!
try: does_this_exist print('variable exists') except NameError: print('variable doesnt exist') 3 trong Python.Đối tượng Copied! Copied!
Nếu bạn cần kiểm tra xem một biến có tồn tại và đã được khai báo, hãy sử dụng khối
Copied!
try: does_this_exist print('variable exists') except NameError: print('variable doesnt exist') 6.Copied!
try: does_this_exist print('variable exists') except NameError: print('variable doesnt exist')Câu lệnh Copied! Copied! Copied!
Bạn nên sử dụng toán tử is khi bạn cần kiểm tra xem biến có lưu trữ giá trị
Copied!
try: does_this_exist print('variable exists') except NameError: print('variable doesnt exist') 2 không.Khi chúng tôi sử dụng is, chúng tôi kiểm tra danh tính của đối tượng.
Hướng dẫn theo phong cách PEP 8 đề cập rằng so sánh với các đơn lẻ như
Copied!
try: does_this_exist print('variable exists') except NameError: print('variable doesnt exist') 2 luôn luôn được thực hiện với is hoặcCopied!
my_first_list = ['a', 'b', 'c'] my_second_list = my_first_list # 👈️ same list as above print(my_first_list is my_second_list) # 👉️ True print(my_first_list == my_second_list) # 👉️ True 5, và không bao giờ là người vận hành bình đẳng.Sử dụng các toán tử bình đẳng (bằng Copied! Copied! Copied!
Dưới đây là một ví dụ minh họa tốt hơn việc kiểm tra danh tính (is) so với kiểm tra bình đẳng (
Copied!
my_first_list = ['a', 'b', 'c'] my_second_list = my_first_list # 👈️ same list as above print(my_first_list is my_second_list) # 👉️ True print(my_first_list == my_second_list) # 👉️ True 6).Copied!
my_first_list = ['a', 'b', 'c'] my_second_list = my_first_list # 👈️ same list as above print(my_first_list is my_second_list) # 👉️ True print(my_first_list == my_second_list) # 👉️ TrueChúng tôi đã tuyên bố 2 biến lưu trữ cùng một danh sách.
Chúng tôi đặt biến thứ hai thành biến thứ nhất, vì vậy cả hai biến đều chỉ vào cùng một đối tượng
Copied!
my_first_list = ['a', 'b', 'c'] my_second_list = my_first_list.copy() # 👈️ copy created print(my_first_list is my_second_list) # 👉️ False print(my_first_list == my_second_list) # 👉️ True 1 trong bộ nhớ.Bây giờ, hãy tạo một bản sao nông của danh sách và gán nó cho biến thứ hai.
Copied!
my_first_list = ['a', 'b', 'c'] my_second_list = my_first_list.copy() # 👈️ copy created print(my_first_list is my_second_list) # 👉️ False print(my_first_list == my_second_list) # 👉️ TrueLưu ý rằng kiểm tra danh tính không thành công. Mặc dù hai danh sách lưu trữ cùng một giá trị, theo cùng một thứ tự, chúng chỉ ra các vị trí khác nhau trong bộ nhớ (chúng không phải là cùng một đối tượng).
Khi chúng tôi sử dụng toán tử bằng kép, Python gọi phương thức
Copied!
my_first_list = ['a', 'b', 'c'] my_second_list = my_first_list.copy() # 👈️ copy created print(my_first_list is my_second_list) # 👉️ False print(my_first_list == my_second_list) # 👉️ True 2 trên đối tượng.Đó là
Copied!
my_first_list = ['a', 'b', 'c'] my_second_list = my_first_list.copy() # 👈️ copy created print(my_first_list is my_second_list) # 👉️ False print(my_first_list == my_second_list) # 👉️ True 3 gọiCopied!
my_first_list = ['a', 'b', 'c'] my_second_list = my_first_list.copy() # 👈️ copy created print(my_first_list is my_second_list) # 👉️ False print(my_first_list == my_second_list) # 👉️ True 4. Về lý thuyết, phương pháp này có thể được thực hiện theo cách không thể đoán trước, vì vậy việc kiểm traCopied!
try: does_this_exist print('variable exists') except NameError: print('variable doesnt exist') 2 với toán tử is trực tiếp hơn.Bạn có thể sử dụng hàm id () để có được danh tính của một đối tượng.
Copied!
my_first_list = ['a', 'b', 'c'] print(id(my_first_list)) # 👉️ 139944523741504 my_second_list = my_first_list.copy() print(id(my_second_list)) # 👉️ 139944522293184 print(id(my_first_list) == id(my_second_list)) # 👉️ FalseHàm trả về một số nguyên, được đảm bảo là duy nhất và không đổi cho tuổi thọ của đối tượng.
Hàm
Copied!
my_first_list = ['a', 'b', 'c'] my_second_list = my_first_list.copy() # 👈️ copy created print(my_first_list is my_second_list) # 👉️ False print(my_first_list == my_second_list) # 👉️ True 7 trả về địa chỉ của đối tượng trong bộ nhớ trong CPython.Nếu hai biến đề cập đến cùng một đối tượng, hàm
Copied!
my_first_list = ['a', 'b', 'c'] my_second_list = my_first_list.copy() # 👈️ copy created print(my_first_list is my_second_list) # 👉️ False print(my_first_list == my_second_list) # 👉️ True 7 sẽ tạo ra cùng một kết quả.Copied!
my_first_list = ['a', 'b', 'c'] print(id(my_first_list)) # 👉️ 140311440685376 my_second_list = my_first_list print(id(my_second_list)) # 👉️ 140311440685376 print(id(my_first_list) == id(my_second_list)) # 👉️ TrueChuyển giá trị
Copied!
try: does_this_exist print('variable exists') except NameError: print('variable doesnt exist') 2 cho hàmCopied!
my_first_list = ['a', 'b', 'c'] my_second_list = my_first_list.copy() # 👈️ copy created print(my_first_list is my_second_list) # 👉️ False print(my_first_list == my_second_list) # 👉️ True 7 luôn luôn trả về kết quả tương tự vì chỉ có một phiên bảnCopied!
try: does_this_exist print('variable exists') except NameError: print('variable doesnt exist') 2 trong chương trình Python.Copied!
print(id(None)) # 👉️ 9817984 print(id(None)) # 👉️ 9817984Bạn cũng có thể thấy các ví dụ trực tuyến kiểm tra sự thật.
Copied!
my_var = None # 👇️ checks if variable stores a truthy value if my_var: print('variable is truthy') # 👇️ checks if variable stores a falsy value if not my_var: # 👇️ this runs print('variable is falsy')Tuy nhiên, điều này rất khác so với kiểm tra rõ ràng nếu một biến lưu trữ giá trị
Copied!
try: does_this_exist print('variable exists') except NameError: print('variable doesnt exist') 2 vì có nhiều giá trị giả khác không phải làCopied!
try: does_this_exist print('variable exists') except NameError: print('variable doesnt exist') 2.Tất cả các giá trị không phải là sự thật được coi là giả mạo. Các giá trị giả trong Python là:
- Các hằng số được xác định là giả mạo:
Copied!
try: does_this_exist print('variable exists') except NameError: print('variable doesnt exist') 2 vàCopied!
my_first_list = ['a', 'b', 'c'] print(id(my_first_list)) # 👉️ 139944523741504 my_second_list = my_first_list.copy() print(id(my_second_list)) # 👉️ 139944522293184 print(id(my_first_list) == id(my_second_list)) # 👉️ False 5. Copied!
my_first_list = ['a', 'b', 'c'] print(id(my_first_list)) # 👉️ 139944523741504 my_second_list = my_first_list.copy() print(id(my_second_list)) # 👉️ 139944522293184 print(id(my_first_list) == id(my_second_list)) # 👉️ False 6 (không) thuộc bất kỳ loại số nào- Trình tự và bộ sưu tập trống:
Copied!
my_first_list = ['a', 'b', 'c'] print(id(my_first_list)) # 👉️ 139944523741504 my_second_list = my_first_list.copy() print(id(my_second_list)) # 👉️ 139944522293184 print(id(my_first_list) == id(my_second_list)) # 👉️ False 7 (Chuỗi trống),Copied!
my_first_list = ['a', 'b', 'c'] print(id(my_first_list)) # 👉️ 139944523741504 my_second_list = my_first_list.copy() print(id(my_second_list)) # 👉️ 139944522293184 print(id(my_first_list) == id(my_second_list)) # 👉️ False 8 (Tuple trống),Copied!
my_first_list = ['a', 'b', 'c'] print(id(my_first_list)) # 👉️ 139944523741504 my_second_list = my_first_list.copy() print(id(my_second_list)) # 👉️ 139944522293184 print(id(my_first_list) == id(my_second_list)) # 👉️ False 9 (danh sách trống),Copied!
my_first_list = ['a', 'b', 'c'] print(id(my_first_list)) # 👉️ 140311440685376 my_second_list = my_first_list print(id(my_second_list)) # 👉️ 140311440685376 print(id(my_first_list) == id(my_second_list)) # 👉️ True 0 (Từ điển trống),Copied!
my_first_list = ['a', 'b', 'c'] print(id(my_first_list)) # 👉️ 140311440685376 my_second_list = my_first_list print(id(my_second_list)) # 👉️ 140311440685376 print(id(my_first_list) == id(my_second_list)) # 👉️ True 1 (bộ trống),Copied!
my_first_list = ['a', 'b', 'c'] print(id(my_first_list)) # 👉️ 140311440685376 my_second_list = my_first_list print(id(my_second_list)) # 👉️ 140311440685376 print(id(my_first_list) == id(my_second_list)) # 👉️ True 2 (phạm vi trống).
Nếu bạn kiểm tra xem một biến có phải là sự thật hay không, bạn đang kiểm tra xem biến không phải là bất kỳ giá trị giả nào đã nói ở trên, không chỉ
Copied!
try: does_this_exist print('variable exists') except NameError: print('variable doesnt exist') 2.