10 10 101
10 10 102_______2_______4
107
106
=
=
10 10 100
109
# Program to demonstrate conditional operator
1# Program to demonstrate conditional operator
2
107
# Program to demonstrate conditional operator
4109
# Program to demonstrate conditional operator
610 10 104
Thời gian phức tạp. Ô[1]
Không gian phụ trợ. Ô[1]
Cách tiếp cận trên có thể được viết là.
con trăn
'''When condition becomes true, expression [on_false] is not executed and value of "True and [on_true]" is returned. Else value of "False or [on_false]" is returned. Note that "True and x" is equal to x. And "False or x" is equal to x. ''' [expression] and [on_true] or [on_false]6
a, b
=
100
101
102
107
a, b
5_______73_______ a, b
7a, b
8
107
=
0# Program to demonstrate conditional operator
2
10 10 101
10 10 102
# Program to demonstrate conditional operator
1_______0_______4a, b
8
109
=
8# Program to demonstrate conditional operator
2
10 10 101
10 10 102
# Program to demonstrate conditional operator
610 10 104
109
=
8a, b
8
10 10 101
10 10 102
104_______0_______4
đầu ra
b is greater than a
Thời gian phức tạp. Ô[1]
Không gian phụ trợ. Ô[1]
- Để sử dụng chức năng in trong toán tử ternary giống như. -
Thí dụ. Tìm số lớn hơn trong số 2 bằng cách sử dụng toán tử ternary trong python3
Python3
106
=
1013
10 10 100
=
1016
1017
10 10 101
1019
1020
10 10 104_______2_______7
1023
109
10 10 101
1026
1027
10 10 104
đầu ra
7 is Greater
Thời gian phức tạp. Ô[1]
Không gian phụ trợ. Ô[1]
Điểm quan trọng.
- Đầu tiên, điều kiện đã cho được ước tính [a < b], sau đó a hoặc b được trả về dựa trên giá trị Boolean được trả về bởi điều kiện
- Thứ tự của các đối số trong toán tử khác với các ngôn ngữ khác như C/C++ [Xem C/C++ toán tử bậc ba]
- Biểu thức điều kiện có mức ưu tiên thấp nhất trong số tất cả các thao tác Python
Phương pháp được sử dụng trước 2. 5 khi toán tử bậc ba không có mặt
Trong một biểu thức như biểu thức được đưa ra dưới đây, trình thông dịch sẽ kiểm tra biểu thức nếu điều này đúng thì on_true được ước tính, nếu không thì on_false được ước tính
cú pháp.
'''When condition becomes true, expression [on_false] is not executed and value of "True and [on_true]" is returned. Else value of "False or [on_false]" is returned. Note that "True and x" is equal to x. And "False or x" is equal to x. ''' [expression] and [on_true] or [on_false]
Thí dụ.
con trăn
# Program to demonstrate conditional operator
a, b
=
100
101
102
1035
1036
1037
104
=
108
1041
106
1043
10 10 100
10 10 101
10 10 102
104
10 10 104
đầu ra
10
Thời gian phức tạp. Ô[1]
Không gian phụ trợ. Ô[1]
Ghi chú. Hạn chế duy nhất của phương pháp này là on_true không được bằng 0 hoặc Sai. Nếu điều này xảy ra, on_false sẽ luôn được đánh giá. Lý do là nếu biểu thức là true, trình thông dịch sẽ kiểm tra on_true, nếu nó bằng 0 hoặc sai, điều đó sẽ buộc trình thông dịch kiểm tra on_false để đưa ra kết quả cuối cùng của toàn bộ biểu thức
Trong Python không có toán tử bậc ba nào ở dạng [. ?] như trong các ngôn ngữ lập trình như c, c++, Java. Toán tử bậc ba trong Python là một biểu thức điều kiện if-else được viết trong một dòng
Dạng toán tử bậc ba Python
Cú pháp cho Python Ternary Operator như được đưa ra dưới đây-
[when_expr_true] if [conditional_expression] else [when_expr_false]
Ban đầu, biểu_thức_điều_kiện được đánh giá, nếu nó đúng thì giá trị 'khi_expr_true' được sử dụng, nếu sai thì giá trị 'khi_expr_false' được sử dụng
Ví dụ về toán tử ternary trong Python
Hãy xem một ví dụ để làm rõ cách sử dụng toán tử bậc ba. Đây là một điều kiện được viết bằng câu lệnh if-else truyền thống
if age > 18: msg = 'can vote' else: msg = "can't vote" print[msg]
Sử dụng toán tử bậc ba cùng một điều kiện có thể được viết trong một dòng như-
msg = 'can vote' if age > 18 else "can't vote"
Như bạn có thể thấy bằng cách sử dụng toán tử bậc ba Python, bạn có thể kiểm tra điều kiện trong một dòng duy nhất làm cho mã ngắn gọn và dễ đọc hơn. Đó là lợi thế của việc sử dụng toán tử bậc ba
Toán tử bậc ba Python lồng nhau
Toán tử bậc ba cũng có thể được lồng vào nhau nhưng hãy lưu ý rằng với các toán tử bậc ba lồng nhau, bạn sẽ mất đi chính lợi thế mà bạn có xu hướng sử dụng toán tử bậc ba;
Ví dụ sau bộ if-elif
if a > b: print['a is greater than b'] elif a < b: print['a is less than b'] else: print['a and b are equal']
có thể được viết bằng toán tử bậc ba lồng nhau-
msg = 'a is greater than b' if[a > b] else 'a is less than b' if[a < b] else 'a and b are equal'
Sử dụng toán tử bậc ba với tuple, từ điển
Ngoài ra còn có một dạng rút gọn được sử dụng với bộ dữ liệu và từ điển dựa trên thực tế là biểu_thức điều kiện được đánh giá trước
1. Xem xét ví dụ sau cho tuple
def display_msg[age]: print['Age is', age] t = ["can't vote", "can vote"] msg = t[age > 18] print[msg] display_msg[20] display_msg[8]
đầu ra
Age is 20 can vote Age is 8 can't vote
Như bạn có thể thấy giá trị sai được lưu trữ đầu tiên trong bộ dữ liệu và sau đó là giá trị thực. Đó là vì thực tế là false = 0 và true = 1. Biểu thức t[age > 18] có giá trị là t[0] nếu biểu thức là sai và nó có giá trị là t[1] nếu biểu thức là đúng
2. Đối với từ điển, bạn có thể lưu trữ cặp giá trị khóa đúng và sai
def display_msg[age]: print['Age is', age] d = {True: "can vote", False: "can't vote"} msg = d[age > 18] print[msg] display_msg[20] display_msg[8]
đầu ra
Age is 20 can vote Age is 8 can't vote
Đó là tất cả cho chủ đề này Toán tử bậc ba trong Python. Nếu bạn có bất kỳ nghi ngờ hoặc bất kỳ đề xuất nào để thực hiện, vui lòng gửi bình luận. Thanks