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
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"]
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"]
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"]
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"]
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"]
Và
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"]
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"]
Không
Từ khóa else
2 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"]
lồng nhau nếu
Bạn có thể có các câu lệnh else
5 bên trong câu lệnh else
5, điều này được gọi là câu lệnh else
5 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. "]
Tuyên bố vượt qua
Không được để trống câu lệnh else
5, nhưng nếu vì lý do nào đó bạn có câu lệnh else
5 không có nội dung, hãy điền vào câu lệnh elif
0 để 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
1Là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
4Kiể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ốngSử 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
4Như đã 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 stuff
4
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
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 độngRấ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ôngTại sao không sử dụng >>> x = ""
>>> "Blank x" if not x else "x Not Blank"
"Blank"
2?
>>> x = ""
>>> "Blank x" if not x else "x Not Blank"
"Blank"
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?
>>> x = ""
>>> "Blank x" if not x else "x Not Blank"
"Blank"
>>> x = ""
>>> "Blank x" if not x else "x Not Blank"
"Blank"
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