Sử dụng cấu trúc
>>> X = [2 >> X True5 một cách chính xác đòi hỏi phải biết cách viết các dòng mã trả về kết quả Boolean [
>>> X = [2 >> X True6 hoặc
>>> X = [2 >> X True7]. Tất nhiên chúng ta luôn có thể viết một chương trình [chức năng] của riêng mình để làm việc này. Nhưng trong nhiều trường hợp, Python cung cấp một số cách đơn giản để thực hiện các bài kiểm tra mà bạn muốn và nhận kết quả Boolean hoặc kết quả có thể được hiểu là Boolean [xem bên dưới]
Điều đầu tiên cần biết là các toán tử luôn trả về Booleans. Trong các ví dụ
>>> X = [2 >> X True8 và y là bất kỳ đối tượng Python nào
>>> X = [2 >> X True
9. Trả về>>> X = [2 >> X True
6 nếu đối tượng Python>>> X = [2 >> X True
8 nằm trong vùng chứaif L: print['L is not empty`] else: print['L is empty']
2;if L: print['L is not empty`] else: print['L is empty']
4. Trả về>>> X = [2 >> X True
6 nếu đối tượng Python>>> X = [2 >> X True
8 là “nhỏ hơn, nhỏ hơn hoặc bằng” theo quy tắc so sánh đối tượng chung. Nếu không, trả về>>> X = [2 >> X True
7. Thường được sử dụng để so sánh các đối tượng cùng loại hoặc kết quả có thể gây ngạc nhiên. Hoạt động như mong đợi đối với số, chuỗi [thứ tự bảng chữ cái]if L: print['L is not empty`] else: print['L is empty']
8. Trả về>>> X = [2 >> X True
6 nếu đối tượng Python>>> X = [2 >> X True
8 là “lớn hơn, lớn hơn hoặc bằng”if L: print['L is not empty`] else: print['L is empty']
2. Nếu không, trả về>>> X = [2 >> X True
7>>> X = [2 >> X True
83. Trả về>>> X = [2 >> X True
6 nếu đối tượng Python>>> X = [2 >> X True
8 tương đương vớiif L: print['L is not empty`] else: print['L is empty']
2 [e. g. , cùng một số hoặc một vùng chứa có cùng nội dung]. Nếu không, trả về>>> X = [2 >> X True
7>>> X = [2 >> X True
88. từ đồng nghĩa; . Nếu nó tương đương, trả về>>> X = [2 >> X True
7>>> X = [2 >> X True
83.>>> X = [2 >> X True
8 là Boolean hoặc cái gì đó có thể được hiểu là Boolean.>>> X = [2 >> X True
85 Đảo ngược Boolean.>>> X = [2 >> X True
86 =>>> X = [2 >> X True
7 và ngược lại.>>> X = [2 >> X True
85 có thể đi trước bất kỳ thử nghiệm hợp lệ nào để đảo ngược giá trị
Ví dụ trước của chúng tôi về cấu trúc if-then trong Python đã bỏ qua một số chi tiết
>>> X = [2 >> X True4
Định nghĩa mà chúng tôi đưa ra về cấu trúc nếu-thì là khối mã được thụt vào sẽ được chạy nếu kết quả của phép thử là
>>> X = [2 >> X True6. Sự thật thực sự phức tạp hơn một chút - và thuận tiện hơn một chút. Một tập hợp rất hạn chế các loại biểu thức Python thực sự đánh giá thành
>>> X = [2 >> X True6 và
>>> X = [2 >> X True7 [thuộc về một loại dữ liệu đặc biệt được gọi là Boolean]. Ví dụ: nếu một biến được đặt thành kết quả của các thử nghiệm này, thì biến đó sẽ có giá trị Boolean
>>> X = [2 >> X True
Nhưng Python, giống như nhiều ngôn ngữ lập trình khác, cho phép nhiều loại khác nhau xuất hiện dưới dạng phép thử trong mệnh đề
>>> X = [2 >> X True92. Trong hầu hết các trường hợp, các đối tượng thuộc các loại khác nhau hoạt động giống như
>>> X = [2 >> X True6 trong các thử nghiệm. Nhưng mỗi loại Python có một số trường hợp đặc biệt hoạt động như
>>> X = [2 >> X True7. Danh sách sau đây tóm tắt những đối tượng Python nào hoạt động giống như
>>> X = [2 >> X True7
>>> X = [2 >> X True
96 [Thông tin thêm về đối tượng Python rất đặc biệt này bên dưới]>>> X = [2 >> X True
7số không của bất kỳ loại số nào, ví dụ: 0, 0L, 0. 0, 0j
bất kỳ dãy trống nào, ví dụ,
>>> X = [2 >> X True
98bất kỳ từ điển trống nào, ví dụ,
>>> X = [2 >> X True
99>>> X = [2 >> X True
70
Do đó, ví dụ, mệnh đề
>>> X = [2 >> X True92 sau đây sẽ xác định chính xác liệu container
>>> X = [2 >> X True72 có trống không
if L: print['L is not empty`] else: print['L is empty']
4. 3. 1. Trường hợp đặc biệt của >>> X = [2 >> X
True
96¶
Python có một đối tượng đặc biệt với kiểu dữ liệu của riêng nó được gọi là
>>> X = [2 >> X True96. Bạn có thể coi đây là một giá trị không có giá trị. Điểm quan trọng của việc có thứ gì đó như thế này là nó cho phép chương trình giả sử một biểu thức có giá trị, ngay cả khi đôi khi nó không. Ví dụ, biến
>>> X = [2 >> X True75 có thể được khởi tạo thành
>>> X = [2 >> X True96, với hiểu biết rằng nó sẽ nhận một giá trị có ý nghĩa tại một thời điểm nào đó trong quá trình tính toán và cho đến thời điểm đó, tên
>>> X = [2 >> X True75 vẫn có thể sử dụng được mà không gây ra lỗi
>>> X = [2 >> X True78. Ví dụ, nó có thể xuất hiện trong thử nghiệm như sau
>>> X = [2 >> X True8
Điều này minh họa tài sản của
>>> X = [2 >> X True96 được giới thiệu ở trên. Nó hoạt động như
>>> X = [2 >> X True7 trong một bài kiểm tra
ghi chú. In ra như không có gì
4. 3. 2. Trăn. biểu thức so với câu lệnh¶
Về nguyên tắc, biểu thức theo sau một
>>> X = [2 >> X True92 phải là một phép thử và do đó phải có các giá trị Boolean, hoặc là
>>> X = [2 >> X True6 hoặc là
>>> X = [2 >> X True7. Nhưng như chúng ta vừa thấy, các đối tượng Python nói chung có thể được diễn giải như thể chúng là Booleans, vì vậy trên thực tế, nhiều loại biểu thức khác nhau có thể tuân theo một
>>> X = [2 >> X True92 một cách hợp lý
Nhưng có một thứ không thể tuân theo
>>> X = [2 >> X True92, một câu nói đơn giản. Dưới đây là danh sách các câu lệnh Python đơn giản mà chúng tôi đã trình bày cho đến nay [còn nhiều câu lệnh khác]
loại báo cáo
Ví dụ
Phân công
X = 3
Vượt qua
vượt qua
Del
del freq_dict[‘đi bộ’]
Trở lại
trả về kết quả
Nghỉ
nghỉ
Một câu lệnh đơn giản là một lệnh Python không trả về bất cứ thứ gì, theo thiết kế ngôn ngữ. Theo trực giác, điều này là do mỗi mục đích là một hành động chương trình. Do đó, việc đánh giá bất kỳ một trong số này đối với dấu nhắc Python sẽ không trả về kết quả nào, bởi vì không có giá trị nào để Python báo cáo
>>> X = [2 >> X True8
Dòng đầu tiên là một câu lệnh và trình thông dịch Python không trả về kết quả gì;
Tương tự, cố gắng đặt một biến thành một câu lệnh đơn giản trong Python là một lỗi cú pháp [
>>> X = [2 >> X True67], bởi vì không có giá trị nào để đặt biến thành
>>> X = [2 >> X True9
Cuối cùng, viết bất kỳ một trong số này sau một
>>> X = [2 >> X True92 là một lỗi cú pháp [
>>> X = [2 >> X True67]. Trong hầu hết các trường hợp, thật khó để tưởng tượng bất cứ ai mắc lỗi như vậy. Ví dụ
>>> X = [2 >> X True7
Nhưng một trường hợp sử dụng một tuyên bố như một bài kiểm tra
>>> X = [2 >> X True5 là một trong những lỗi phổ biến nhất của người mới bắt đầu. Xem liệu bạn có thể phát hiện trường hợp đó trong danh sách các loại câu lệnh ở trên không
Lỗi phổ biến nhất là đưa bài tập vào
>>> X = [2 >> X True92 bài kiểm tra. Do đó, đoạn mã trông có vẻ vô thưởng vô phạt sau đây là một lỗi cú pháp
>>> X = [2 >> X True6
Tất nhiên, ý nghĩa của nó là một bài kiểm tra đẳng thức bằng cách sử dụng
if L: print['L is not empty`] else: print['L is empty']52. Như vậy
if L: print['L is not empty`] else: print['L is empty']5
và
if L: print['L is not empty`] else: print['L is empty']7
có nghĩa là những điều rất khác nhau. Đầu tiên là một tuyên bố không có giá trị; . Thứ hai là một bài kiểm tra trả về
>>> X = [2 >> X True6 hoặc
>>> X = [2 >> X True7 tùy thuộc vào giá trị của biến
>>> X = [2 >> X True66 có phải là 3 hay không. Đầu tiên là lỗi cú pháp khi theo dõi
>>> X = [2 >> X True92;
4. 3. 3. Biểu thức điều kiện¶
>>> X = [2 >> X True5 hoặc cấu trúc có điều kiện có liên quan chặt chẽ với một cấu trúc khác của Python được gọi là biểu thức điều kiện
Đôi khi chúng ta muốn thực hiện một nhiệm vụ có điều kiện; . Dựa trên những gì chúng tôi đã đề cập cho đến nay, công việc có thể được thực hiện như thế này
>>> X = [2 >> X True0
Nhưng đoạn mã Python hợp lệ này có một vấn đề nhỏ về khả năng đọc; . Theo đó, Python cung cấp một cấu trúc khác dễ đọc hơn để thực hiện việc này, cho phép viết lại đoạn mã trên như sau
>>> X = [2 >> X True1
Thành ngữ Python ở bên phải của
if L: print['L is not empty`] else: print['L is empty']70 là một biểu thức [vì nó phải như vậy, hợp pháp]. Như đã lưu ý ở trên, biểu thức Python là thứ có giá trị. Giá trị của biểu thức trên phụ thuộc vào tính đúng hay sai hiện tại của
if L: print['L is not empty`] else: print['L is empty']71. Do đó, nó là một biểu thức có điều kiện. Trong tài liệu giới thiệu cấu trúc này, Guido van Rossum [nhà phát minh Python và nhà độc tài nhân từ suốt đời] gợi ý rằng nó luôn được sử dụng với dấu ngoặc đơn, để làm rõ ranh giới của biểu thức
>>> X = [2 >> X True2
Trong cách sử dụng điển hình, giá trị
if L: print['L is not empty`] else: print['L is empty']72 bao gồm một trường hợp bất thường. Ví dụ: đặt
if L: print['L is not empty`] else: print['L is empty']73 là một số chuỗi được ghi vào tệp. Trong một số trường hợp, sẽ hữu ích khi kết thúc tệp bằng ký tự xuống dòng, tạo ra dòng trống cuối cùng, nhưng chúng tôi không muốn làm điều đó nếu không có nội dung nào để viết, vì vậy chúng tôi có thể viết
>>> X = [2 >> X True3
Do đó,
if L: print['L is not empty`] else: print['L is empty']74 có một ký tự xuống dòng được thêm vào nếu
if L: print['L is not empty`] else: print['L is empty']73 không trống. Mặt khác, nó là chuỗi rỗng
Rõ ràng, các biểu thức điều kiện có thể được sử dụng ở bất cứ đâu mà một biểu thức có thể, không chỉ trong các câu lệnh gán. Một trường hợp rất hữu ích nằm trong phần hiểu danh sách. Ví dụ: giả sử chúng tôi muốn chuẩn hóa một chuỗi các câu trả lời có-không có thể được đánh vần là “có”, “Có”, “Y”, v.v., nhưng chúng tôi muốn diễn giải các câu trả lời không phải là không.