Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menggunakan pengendali ternary dalam Python?
Dalam kebanyakan bahasa pengaturcaraan, terdapat operasi ternary, juga dipanggil operasi ternary Bahasa Python bermula daripada Python2. Bermula dari versi 5, pengendali ternary juga diperkenalkan.
Dalam Python, operasi ternary juga dipanggil ungkapan bersyarat. dua ungkapan, disambungkan dengan if…else….
Jika keadaan benar (hasilnya benar), true_expression dilaksanakan dan hasil true_expression digunakan sebagai hasil daripada keseluruhan ungkapan.Jika keadaan tidak benar (hasilnya palsu), false_expression dilaksanakan dan hasil false_expression digunakan sebagai hasil daripada keseluruhan ungkapan.Contohnya:
Pengendali ternary dalam Python disambungkan dengan if and else, tidak seperti Java dan bahasa lain yang menggunakan tanda soal dan bertindih untuk menyambung.
num1 = int(input('请输入第一个数字:')) num2 = int(input('请输入第二个数字:')) # 三元运算 max_num = num1 if num1 >= num2 else num2 print(f'最大值是:{max_num}')
Output:
请输入第一个数字:15646 请输入第二个数字:464665 最大值是:464665
Dalam contoh di atas, jika num1 lebih besar daripada atau sama dengan num2, maka max_num sama dengan num1, sebaliknya max_num ialah sama dengan num2, melalui operasi ternary Simbol mencari maksimum dua nombor.
Perbezaan antara pernyataan operasi ternary dan pernyataan bersyarat
1. Pernyataan operasi ternary
numa = 100 numb = 10 max_num = numa if numa >= numb else numb print(f'最大值是:{max_num}')
Ungkapan operasi ternari bersarang
numa = 100 numb = 10 if numa >= numb: max_num = numa else: max_num = numb print(f'最大值是:{max_num}')
Barisan kod di atas ialah ungkapan operasi ternari bersarang, di mana pernyataan selepas yang lain yang pertama ialah ternary lengkap Pernyataan operasi dianggap secara keseluruhan sebagai ungkapan_false dalam ungkapan operasi ternary luar, seperti yang ditunjukkan dalam rajah di bawah.
Ungkapan ini bersamaan dengan kod penghakiman bersyarat berikut:num = int(input('请输入数字:')) print('负数') if str(num)[0] == '-' else print('大于等于100') if num >= 100 else print('小于100的正数')Anda juga boleh terus menggunakan kaedah yang sama untuk menyusun lebih banyak lapisan, tetapi saya secara peribadi mengesyorkan untuk tidak Menulis terlalu banyak bersarang, jika tidak, kebolehbacaan kod akan dikurangkan dan bukannya meningkat, yang tidak produktif.
Gabungan ungkapan operasi ternary dan pemahaman senarai
num = int(input('请输入数字:')) if str(num)[0] == '-': print('负数') else: if num >= 100: print('大于等于100') else: print('小于100的正数')
Output:
s = [i if i % 2 == 0 else 10*i for i in range(10)] print(s)
Sudah tentu, anda juga boleh menggabungkan ungkapan operasi ternary dengan potongan kamus dan set Derivasi dan kombinasi lain adalah digunakan. Untuk lebih banyak terbitan, sila rujuk: Pemahaman senarai Python
Ekspresi operasi ternary dalam Python mempunyai dua kelebihan utama:
1 gantikan pernyataan bersyarat mudah dengan ungkapan aritmetik ternari satu baris untuk mengurangkan bilangan baris kod.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan pengendali ternary dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!