Không phải là nếu câu lệnh Python?

Trong ví dụ này, chúng tôi sử dụng hai biến, a và b, được sử dụng như một phần của câu lệnh if để kiểm tra xem b có lớn hơn a hay không. Vì a là 33 và b là 200, chúng tôi biết rằng 200 lớn hơn 33 và vì vậy chúng tôi in ra màn hình rằng "b lớn hơn a"

thụt đầu dòng

Python dựa vào thụt đầu dòng (khoảng trắng ở đầu dòng) để xác định phạm vi trong mã. Các ngôn ngữ lập trình khác thường sử dụng dấu ngoặc nhọn cho mục đích này

Ví dụ

Câu lệnh if không thụt đầu dòng (sẽ báo lỗi)

một = 33
b = 200
nếu b > a
print("b lớn hơn a") # bạn sẽ gặp lỗi

Tự mình thử »



Elif

Từ khóa elif là cách nói của Python "nếu điều kiện trước không đúng, thì hãy thử điều kiện này"

Ví dụ

một = 33
b = 33
nếu b > a
print("b lớn hơn a")
yêu tinh a == b
print("a và b bằng nhau")

Tự mình thử »

Trong ví dụ này a bằng b, vì vậy điều kiện đầu tiên là không đúng, nhưng điều kiện cuối là đúng, vì vậy chúng tôi in ra màn hình rằng "a và b bằng nhau"


Khác

Từ khóa khác bắt bất kỳ thứ gì không bị bắt bởi các điều kiện trước đó

Ví dụ

một = 200
b = 33
nếu b > a
print("b lớn hơn a")
yêu tinh a == b
print("a và b bằng nhau")
khác
print("a lớn hơn b")

Tự mình thử »

Trong ví dụ này a lớn hơn b, vì vậy điều kiện đầu tiên không đúng, điều kiện elif cũng không đúng, vì vậy chúng tôi chuyển sang điều kiện khác và in ra màn hình rằng "a lớn hơn b"

Bạn cũng có thể có một else mà không có elif

Ví dụ

một = 200
b = 33
nếu b > a
print("b lớn hơn a")
khác
print("b không lớn hơn a")

Tự mình thử »


Bàn Tay Ngắn Nếu

Nếu bạn chỉ có một câu lệnh để thực thi, bạn có thể đặt nó trên cùng một dòng với câu lệnh if


Bàn Tay Ngắn Nếu. Khác

Nếu bạn chỉ có một câu lệnh để thực thi, một câu lệnh nếu và một câu lệnh khác, bạn có thể đặt tất cả trên cùng một dòng

Ví dụ

Câu lệnh if else một dòng

một = 2
b = 330
print("A") if a > b other print("B")

Tự mình thử »

Kỹ thuật này được gọi là Toán tử bậc ba hoặc Biểu thức có điều kiện

Bạn cũng có thể có nhiều câu lệnh khác trên cùng một dòng

Ví dụ

Câu lệnh if else một dòng với 3 điều kiện

một = 330
b = 330
print("A") if a > b other print("=") if a == b other print("B")

Tự mình thử »


Từ khóa and là một toán tử logic và được sử dụng để kết hợp các câu điều kiện

Ví dụ

Kiểm tra nếu a lớn hơn b, VÀ nếu c lớn hơn a

một = 200
b = 33
c = 500
nếu a > b và c > a
print("Cả 2 điều kiện đều đúng")

Tự mình thử »


Hoặc

Từ khóa or là một toán tử logic và được sử dụng để kết hợp các câu điều kiện

Ví dụ

Kiểm tra nếu a lớn hơn b, HOẶC nếu a lớn hơn c

một = 200
b = 33
c = 500
nếu a > b hoặc a > c
print("Ít nhất một trong các điều kiện là Đúng")

Tự mình thử »


Không

Từ khóa else2 là một toán tử logic và được sử dụng để đảo ngược kết quả của câu lệnh điều kiện

Ví dụ

Kiểm tra nếu a KHÔNG lớn hơn b

một = 33
b = 200
nếu không a > b
print("a KHÔNG lớn hơn b")

Tự mình thử »


lồng nhau nếu

Bạn có thể có các câu lệnh else5 bên trong câu lệnh else5, điều này được gọi là câu lệnh else5 lồng nhau

Ví dụ

x = 41

nếu x > 10
print("Trên 10,")
nếu x > 20
print("và cũng trên 20. ")
khác
print("nhưng không lớn hơn 20. ")

Tự mình thử »


Tuyên bố vượt qua

Không được để trống câu lệnh else5, nhưng nếu vì lý do nào đó bạn có câu lệnh else5 không có nội dung, hãy điền vào câu lệnh elif0 để tránh mắc lỗi

Một cách để xác định xem một giá trị có bằng một giá trị khác hay không là sử dụng bộ so sánh !=, nhưng nếu bạn không so sánh hai giá trị thì sao – làm cách nào bạn có thể xác định xem điều gì đó không đúng?

Python có một toán tử sẵn có được gọi là not cho phép người dùng kiểm tra một biến hoặc kết quả của một hàm để kiểm tra xem biến hoặc giá trị trả về có hợp lệ không

Một số trường hợp sử dụng cổ điển của loại logic này được áp dụng trong mã Python của tôi là kiểm tra xem tệp có tồn tại hay không, các trường hợp khác là khi quét một trang web và kiểm tra xem phần tử có tồn tại trên trang không

Có nhiều trường hợp sử dụng khác và sau đây là một số ví dụ cơ bản để có ý tưởng về cách thức hoạt động của thao tác này

>>> my_value = "Test string"
>>> not my_value
False

Kiểm tra được thực hiện trong mã mẫu ở trên đang xác định xem biến

>>> bool("Test string")
True
>>> bool("")
False
>>> bool(0)
False
>>> bool(dict())
False
>>> bool({})
False
>>> bool([])
False
>>> bool([[]])
True
>>> bool(set())
False
>>> bool(tuple())
False
0 có phải là “” hay không – nghĩa là Python diễn giải giá trị là
>>> bool("Test string")
True
>>> bool("")
False
>>> bool(0)
False
>>> bool(dict())
False
>>> bool({})
False
>>> bool([])
False
>>> bool([[]])
True
>>> bool(set())
False
>>> bool(tuple())
False
1

Làm thế nào để Python biết nếu một giá trị không phải là boolean là đúng?

Một cách dễ dàng để tìm ra điều đó là sử dụng hàm nhận một tham số và chuyển đổi nó thành kiểu dữ liệu boolean, trả về

>>> bool("Test string")
True
>>> bool("")
False
>>> bool(0)
False
>>> bool(dict())
False
>>> bool({})
False
>>> bool([])
False
>>> bool([[]])
True
>>> bool(set())
False
>>> bool(tuple())
False
1 hoặc
>>> bool("Test string")
True
>>> bool("")
False
>>> bool(0)
False
>>> bool(dict())
False
>>> bool({})
False
>>> bool([])
False
>>> bool([[]])
True
>>> bool(set())
False
>>> bool(tuple())
False
4

Kiểm tra giá trị thực

Để tiến hành kiểm tra giá trị thực của riêng bạn, chỉ cần mở Python REPL và nhập một số giá trị vào hàm

>>> bool("Test string")
True
>>> bool("")
False
>>> bool(0)
False
>>> bool(dict())
False
>>> bool({})
False
>>> bool([])
False
>>> bool([[]])
True
>>> bool(set())
False
>>> bool(tuple())
False
2

>>> bool("Test string")
True
>>> bool("")
False
>>> bool(0)
False
>>> bool(dict())
False
>>> bool({})
False
>>> bool([])
False
>>> bool([[]])
True
>>> bool(set())
False
>>> bool(tuple())
False

Như bạn có thể thấy từ các bài kiểm tra trên, có nhiều giá trị mà khi được chuyển đổi thành kiểu dữ liệu boolean sẽ trả về

>>> bool("Test string")
True
>>> bool("")
False
>>> bool(0)
False
>>> bool(dict())
False
>>> bool({})
False
>>> bool([])
False
>>> bool([[]])
True
>>> bool(set())
False
>>> bool(tuple())
False
4. Một số trong số này bao gồm một chuỗi rỗng, giá trị số 0, một từ điển trống, một danh sách trống (nhưng không phải là danh sách hai chiều trống), một bộ trống và một bộ trống

Sử dụng not Trong câu lệnh If

Mục đích của việc sử dụng toán tử not trong câu lệnh if là để kiểm tra xem giá trị boolean trả về của một hàm hoặc một biến không phải là

>>> bool("Test string")
True
>>> bool("")
False
>>> bool(0)
False
>>> bool(dict())
False
>>> bool({})
False
>>> bool([])
False
>>> bool([[]])
True
>>> bool(set())
False
>>> bool(tuple())
False
1 hay là
>>> bool("Test string")
True
>>> bool("")
False
>>> bool(0)
False
>>> bool(dict())
False
>>> bool({})
False
>>> bool([])
False
>>> bool([[]])
True
>>> bool(set())
False
>>> bool(tuple())
False
4

Như đã trình bày chi tiết ở trên, một ví dụ tuyệt vời khi điều này được sử dụng để xác định xem một tệp có tồn tại hay không, như được minh họa trong ví dụ sau

import os

file_loc = "/output.csv"
if not os.path.exists(file_loc):
    # proceed to create file
    with open(file_loc, 'w') as f:
         # do stuff

Bằng cách sử dụng toán tử not, bạn có thể dễ dàng đọc và xác định những gì đang được tìm kiếm từ mã

Toán tử not có thể được sử dụng tương tự trên câu lệnh if một dòng, như được hiển thị bên dưới

>>> x = ""
>>> "Blank x" if not x else "x Not Blank"
"Blank"

Trường hợp not Không hoạt động trong Tuyên bố import os file_loc = "/output.csv" if not os.path.exists(file_loc): # proceed to create file with open(file_loc, 'w') as f: # do stuff4

Có một trường hợp sử dụng toán tử not trong câu lệnh if sẽ không hoạt động và đây là trường hợp khi điều kiện if được sử dụng trong cách hiểu danh sách

Áp dụng logic tương tự không hoạt động trong trường hợp này và tạo ra một

import os

file_loc = "/output.csv"
if not os.path.exists(file_loc):
    # proceed to create file
    with open(file_loc, 'w') as f:
         # do stuff
6

>>> my_list = ['a', None, 'c']
>>> [x for x in my_list if x not None]
  File "", line 1
    [x for x in my_list if x not None]
                                 ^
SyntaxError: invalid syntax

Mục đích của câu lệnh trên là thử tạo một danh sách bằng cách lọc ra các phần tử có chứa

import os

file_loc = "/output.csv"
if not os.path.exists(file_loc):
    # proceed to create file
    with open(file_loc, 'w') as f:
         # do stuff
7, như bạn có thể thấy khi áp dụng tương tự nếu điều kiện không hoạt động

Rất may, có một giải pháp đơn giản. bao gồm biểu thức

import os

file_loc = "/output.csv"
if not os.path.exists(file_loc):
    # proceed to create file
    with open(file_loc, 'w') as f:
         # do stuff
8 trong điều kiện if, như vậy

>>> my_list = ['a', None, 'c']
>>> [x for x in my_list if not is None]
['a', 'c']

Do đó, nếu bạn thấy toán tử not KHÔNG hoạt động như mong đợi trong điều kiện

import os

file_loc = "/output.csv"
if not os.path.exists(file_loc):
    # proceed to create file
    with open(file_loc, 'w') as f:
         # do stuff
4 của bạn thì hãy xem liệu việc bao gồm biểu thức
import os

file_loc = "/output.csv"
if not os.path.exists(file_loc):
    # proceed to create file
    with open(file_loc, 'w') as f:
         # do stuff
8 có giúp ích gì không

Tại sao không sử dụng >>> x = "" >>> "Blank x" if not x else "x Not Blank" "Blank"2?

Các ngôn ngữ khác cho phép sử dụng dấu chấm than trước một khai báo biến hoặc hàm để thực hiện điều tương tự như not của Python – điều này không được phép trong Python, làm như vậy sẽ gây ra một

import os

file_loc = "/output.csv"
if not os.path.exists(file_loc):
    # proceed to create file
    with open(file_loc, 'w') as f:
         # do stuff
6

>>> ! bool("")
  File "", line 1
    ! bool([])
    ^
SyntaxError: invalid syntax

Do đó, thay vì đặt dấu chấm than, hãy sử dụng toán tử not trong Python

Tại sao không sử dụng >>> x = "" >>> "Blank x" if not x else "x Not Blank" "Blank"6 hoặc >>> x = "" >>> "Blank x" if not x else "x Not Blank" "Blank"7?

Các tương đương Pythonic khác để sử dụng toán tử not là sử dụng các biểu thức dài dòng hơn

>>> x = ""
>>> "Blank x" if not x else "x Not Blank"
"Blank"
6 hoặc
>>> x = ""
>>> "Blank x" if not x else "x Not Blank"
"Blank"
7, như minh họa bên dưới

>>> not ""
True
>>> "" != True
True
>>> "" == False
True
>>> not {}
True
>>> {} != True
True
>>> {} == False
True

Như bạn có thể thấy từ mẫu ví dụ nhỏ ở trên, chúng thực hiện điều tương tự

Bản tóm tắt

Python cung cấp một toán tử thay thế cho cú pháp

>>> x = ""
>>> "Blank x" if not x else "x Not Blank"
"Blank"
2 mà ngôn ngữ khác cho phép khi xác định xem giá trị trả về của một biến, biểu thức hoặc hàm có phải là
>>> bool("Test string")
True
>>> bool("")
False
>>> bool(0)
False
>>> bool(dict())
False
>>> bool({})
False
>>> bool([])
False
>>> bool([[]])
True
>>> bool(set())
False
>>> bool(tuple())
False
4. Toán tử này là biểu thức not trong Python và giúp người dùng xác định xem thứ gì đó là
>>> bool("Test string")
True
>>> bool("")
False
>>> bool(0)
False
>>> bool(dict())
False
>>> bool({})
False
>>> bool([])
False
>>> bool([[]])
True
>>> bool(set())
False
>>> bool(tuple())
False
4

Không có trong câu lệnh if Python?

Cú pháp Python 'Nếu không' . Toán tử này được sử dụng cùng với câu lệnh if, được gọi là câu lệnh if not. not is a logical operator that evaluates to True if the expression used with it is False . This operator is used along with the if statement, called if not statements.

không phải và. = Bằng Python?

Bằng Python . = được định nghĩa là không bằng toán tử . Nó trả về True nếu toán hạng ở hai bên không bằng nhau và trả về False nếu chúng bằng nhau. Trong khi đó, toán tử không kiểm tra xem id() của hai đối tượng có giống nhau hay không.

== là gì và. = Bằng Python?

So sánh đẳng thức với Python == và. = . Sử dụng toán tử đẳng thức == và. = nếu bạn muốn kiểm tra xem hai đối tượng có cùng giá trị hay không, bất kể chúng được lưu trữ ở đâu trong bộ nhớ.