Rút gọn câu lệnh if Python
Python không phải là ngôn ngữ lập trình nhanh nhất hiện có, nhưng nó có thể đọc được và viết hiệu quả. Mọi người đều biết câu lệnh có điều kiện là gì, nhưng bạn có biết bạn có thể viết ______________6 câu lệnh trong một dòng mã Python không? Show
Sau khi đọc xong, bạn sẽ biết mọi thứ về câu lệnh If Else của Python trong một dòng. Bạn sẽ hiểu khi nào nên sử dụng chúng và khi nào tốt nhất nên tránh chúng và tuân theo các câu điều kiện thông thường Không cảm thấy như đọc? Bạn muốn được thuê làm nhà khoa học dữ liệu? Viết blog về khoa học dữ liệu có thực sự giúp bạn được thuê làm nhà khoa học dữ liệu không? Cảnh báo spoiler - vâng, viết blog về khoa học dữ liệu thực sự có thể giúp bạn được tuyển dụng trong ngành. Hãy nhận biết những sản phẩm khai thác này trước khi bạn bắt đầu Khoa học dữ liệu tốt hơnDario RadečićCó gì sai với câu lệnh If bình thường?hoàn toàn không có gì. Chia các câu điều kiện thành nhiều dòng mã đã là một quy ước từ lâu. Hầu hết các ngôn ngữ lập trình đều yêu cầu sử dụng dấu ngoặc nhọn và do đó, câu lệnh 6 dòng đơn không phải là một tùy chọn. Các ngôn ngữ khác chỉ cho phép viết các điều kiện đơn giản trong một dòngVà sau đó là Python. Trước khi đi sâu vào các câu lệnh If Else trong một dòng, trước tiên chúng ta hãy tóm tắt ngắn gọn về các điều kiện thông thường Ví dụ: bạn có thể kiểm tra xem điều kiện có đúng không bằng cú pháp sau
Biến 8 nhỏ hơn 18 trong trường hợp này, do đó, 9 được in ra bàn điều khiển. Bạn có thể thêm gia vị cho mọi thứ bằng cách thêm một điều kiện 0 sẽ được đánh giá nếu điều kiện đầu tiên là 1
Lần này 8 lớn hơn 18, vì vậy 3 được in ra bàn điều khiển. Cuối cùng, bạn có thể thêm một hoặc nhiều điều kiện 4. Chúng được sử dụng để nắm bắt các trường hợp ở giữa. Ví dụ: bạn có thể in nội dung nào đó hoàn toàn khác nếu 8 nằm trong khoảng từ 16 (bao gồm) đến 18 (không bao gồm)
Biến 8 là 17, có nghĩa là điều kiện trong 4 là 8, do đó 9 được in ra bàn điều khiểnCông cụ khá cơ bản, vì vậy chúng tôi tự nhiên không muốn dành quá nhiều dòng mã để viết nó. Hóa ra, bạn có thể sử dụng toán tử bậc ba trong Python để đánh giá các điều kiện trong một dòng Toán tử bậc ba trong PythonToán tử bậc ba tồn tại trong một số ngôn ngữ lập trình và nó cho phép bạn rút ngắn một khối If-Else đơn giản. Phải mất từ 3 toán hạng trở lên
Trong mã, nó sẽ trông như thế này
Bạn thậm chí có thể viết logic other-if trong toán tử bậc ba của Python. Trong trường hợp đó, cú pháp thay đổi một chút
Tôi phải thừa nhận - có vẻ hơi trừu tượng khi được viết như thế này. Bạn sẽ thấy rất nhiều ví dụ thực tế bắt đầu từ phần tiếp theo Câu lệnh If một dòng (Không có Else)Câu lệnh một dòng 6 chỉ có nghĩa là bạn đang xóa dòng mới và thụt đầu dòng. Bạn vẫn đang viết cùng một đoạn mã, với điểm khác biệt duy nhất là phải mất một dòng thay vì hai dòngGhi chú. Câu lệnh một dòng 6 chỉ có thể thực hiện được nếu có một dòng mã duy nhất tuân theo điều kiện. Trong bất kỳ trường hợp nào khác, hãy bọc mã sẽ được thực thi bên trong một hàmĐây là cách chuyển đổi câu lệnh 6 hai dòng của chúng ta thành câu điều kiện một dòng
Như trước đây, 8 nhỏ hơn 18 nên 9 được in raNếu bạn muốn in ba dòng thay vì một dòng thì sao?
Các câu lệnh một dòng 6 trong Python khá nhàm chán. Lợi ích tiết kiệm không gian và thời gian thực xảy ra khi bạn thêm một điều kiện 0💡 Bạn sẽ hưởng lợi nhiều nhất từ câu lệnh một dòng 6 nếu bạn thêm một hoặc nhiều điều kiện 0Câu lệnh If-Else một dòngBây giờ chúng ta hoàn toàn có thể tận dụng sức mạnh của toán tử bậc ba của Python. Đoạn mã bên dưới lưu trữ 9 vào một biến mới 2 nếu biến 8 nhỏ hơn 18 hoặc ngược lại là 3
Như bạn đoán, 3 được in ra bàn điều khiển khi 8 được đặt thành 19. Nếu bạn muốn in nhiều dòng hoặc xử lý logic phức tạp hơn, hãy gói mọi thứ bạn muốn được thực thi vào một hàm - giống như trước đâyBây giờ bạn đã có một bức tranh rõ ràng về cách thức hoạt động của toán tử bậc ba trên câu lệnh if-else một dòng đơn giản. Chúng ta có thể thêm độ phức tạp bằng cách thêm nhiều điều kiện hơn cho toán tử Tuyên bố If-Elif-Else một dòngLuôn cẩn thận khi viết nhiều điều kiện trong một dòng mã. Logic sẽ vẫn hoạt động nếu dòng dài 500 ký tự, nhưng gần như không thể đọc và duy trì dòng đó Bạn sẽ ổn với hai điều kiện trong một dòng, vì mã vẫn dễ đọc. Ví dụ sau in ra 9 nếu 8 dưới 16, 9 nếu 8 nằm trong khoảng từ 16 (bao gồm) đến 18 (không bao gồm) và 1 ngược lại
Bạn sẽ thấy 9 được in ra bảng điều khiển, vì 8 được đặt thành 17. Những gì trước đây khiến chúng tôi mất sáu dòng mã giờ chỉ cần một. Cải thiện gọn gàng và mã vẫn dễ đọc và dễ bảo trìBạn có thể làm gì khác với câu lệnh if một dòng? . Chúng ta sẽ khám phá các điều kiện một dòng cho các hoạt động danh sách tiếp theo Ví dụ. Điều kiện một dòng cho hoạt động danh sáchÁp dụng một số logic cho danh sách liên quan đến việc áp dụng logic cho mọi mục danh sách và do đó lặp lại trên toàn bộ danh sách. Trước khi nghĩ về một ví dụ trong thế giới thực, hãy xem cách bạn có thể viết một câu lệnh có điều kiện cho mọi mục danh sách trong một dòng mã Cách viết IF và FOR trên một dòngBạn sẽ cần thực hiện hai thay đổi đối với toán tử bậc ba
Đây là cách cú pháp chung trông như thế nào
Điều đó không khó lắm, nhưng hãy đưa vấn đề về nhà bằng một ví dụ. Đoạn mã sau in ra 7 nếu số hiện tại của một phạm vi lớn hơn 5 và 8 nếu ngược lại. Các số nằm trong khoảng từ 1 đến 10 (bao gồm) 0Hình ảnh 1 - If và For trong một dòng trong Python (hình ảnh của tác giả)Bây giờ chúng ta hãy đi qua một ví dụ thực tế bổ sung Ví dụ. Học sinh đã vượt qua kỳ thi?Để bắt đầu, chúng ta sẽ khai báo một danh sách sinh viên. Mỗi sinh viên là một đối tượng từ điển Python có hai khóa. tên và điểm kiểm tra 1Chúng tôi muốn in ra rằng học sinh đã vượt qua kỳ thi nếu số điểm là 50 điểm trở lên. Nếu điểm dưới 50 điểm, chúng tôi muốn in ra rằng sinh viên đã trượt kỳ thi Theo cú pháp Python truyền thống, chúng tôi sẽ lặp lại thủ công từng sinh viên trong danh sách và kiểm tra xem điểm có lớn hơn 50 không 2Hình 2 - Liệt kê phép lặp với cú pháp Python truyền thống (ảnh của tác giả)Mã hoạt động, nhưng chúng tôi cần 5 dòng để thực hiện kiểm tra đơn giản và lưu trữ kết quả. Bạn có thể sử dụng kiến thức mới thu được của mình để giảm số lượng mã xuống một dòng 3Hình 3 - Điều kiện một dòng và vòng lặp với Python (ảnh của tác giả)Các kết quả giống hệt nhau, nhưng chúng tôi có một đoạn mã ngắn hơn và gọn gàng hơn nhiều. Nó nằm trên ranh giới không thể đọc được, thường là sự đánh đổi với các toán tử bậc ba và các vòng lặp một dòng. Bạn thường không thể có cả mã có thể đọc được và các tập lệnh Python ngắn 💡 Chỉ vì bạn có thể viết điều kiện trong một dòng, điều đó không có nghĩa là bạn nên. Khả năng đọc là một ưu tiên Hãy xem trường hợp nào bạn nên sử dụng câu lệnh 6 truyền thống hơnHãy cẩn thận với các điều kiện một dòngPhần kết luậnChỉ vì mã chiếm ít không gian theo chiều dọc hơn không có nghĩa là nó dễ đọc hơn. Bây giờ bạn sẽ thấy ví dụ hoàn hảo về yêu cầu đó Đoạn mã dưới đây kiểm tra một điều kiện cho mọi điểm có thể (1-5) với điều kiện cuối cùng là ___________0 bắt đầu vào không hợp lệ. Các điều kiện cần 12 dòng mã để viết, nhưng toàn bộ đoạn mã cực kỳ dễ đọc 4Theo dự kiến, bạn sẽ thấy 1 được in ra bảng điều khiển, nhưng đó không phải là điều chúng tôi quan tâm. Chúng tôi muốn dịch đoạn mã trên thành câu lệnh if-else một dòng với toán tử bậc baCó thể - nhưng kết quả cuối cùng lộn xộn và không thể đọc được 5Đây là một ví dụ về một trường hợp cực đoan khi bạn có nhiều điều kiện mà bạn phải đánh giá. Tốt hơn hết là bạn nên sử dụng các câu lệnh 6 truyền thống, mặc dù chúng chiếm nhiều không gian theo chiều dọc hơnLấy điểm về nhà. Một toán tử bậc ba với nhiều hơn hai điều kiện chỉ là một cơn ác mộng khi viết và gỡ lỗi Phần kết luậnVà bạn đã có nó - mọi thứ bạn cần biết về câu lệnh if-else một dòng trong Python. Bạn đã học tất cả về toán tử bậc ba và cách viết câu điều kiện bắt đầu bằng một ____0_______6 đến năm điều kiện ở giữa Hãy nhớ giữ cho mã của bạn đơn giản. Mã dễ đọc và dễ bảo trì hơn là mã được viết tốt hơn vào cuối ngày. Chỉ vì bạn có thể nhồi nhét mọi thứ vào một dòng duy nhất, không có nghĩa là bạn nên. Bạn sẽ hối hận ngay khi cần thực hiện một số thay đổi Một cách rõ ràng hơn để viết các điều kiện dài là sử dụng khớp mẫu cấu trúc - một tính năng mới được giới thiệu trong Python 3. 10. Nó mang lại câu lệnh 4 được yêu thích cho Python để dễ đọc hơn và tăng tốc độ phát triểnCác bạn nghĩ gì về câu lệnh if-else một dòng trong Python? Câu lệnh if viết tắt trong Python là gì?Viết tắt if và if other chẳng là gì ngoài một cách viết câu lệnh if trên một dòng khi chúng ta chỉ có một câu lệnh để thực thi trong khối if và khối other.
Câu lệnh If viết tắt là gì?Ngoài ra còn có một if other viết tắt, được gọi là toán tử bậc ba vì nó bao gồm ba toán hạng. Nó có thể được sử dụng để thay thế nhiều dòng mã bằng một dòng duy nhất.
3 loại câu lệnh điều kiện * của Python là gì?Chúng tôi có các loại câu lệnh điều kiện khác nhau như câu lệnh if, if-else, elif, if lồng nhau và if-else lồng nhau kiểm soát việc thực thi chương trình của chúng tôi
Làm thế nào nếu Elif hoạt động trong Python?Trong Python, elif là viết tắt của "else if" và được sử dụng khi câu lệnh if đầu tiên không đúng, nhưng bạn muốn kiểm tra một điều kiện khác. Có nghĩa là, các câu lệnh if kết hợp với các câu lệnh elif và other để thực hiện một loạt kiểm tra . |