Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan pengendali ternary dalam Python?

Bagaimana untuk menggunakan pengendali ternary dalam Python?

PHPz
PHPzke hadapan
2023-05-08 15:28:161475semak imbas

Penjelasan terperinci tentang operasi ternary dalam Python

Apakah itu operator ternary

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.



Pengendali ternary dalam Python disambungkan dengan if and else, tidak seperti Java dan bahasa lain yang menggunakan tanda soal dan bertindih untuk menyambung.

Contohnya:
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}')

2 fungsi pernyataan operasi ternary dan pernyataan bersyarat adalah sama, tetapi pernyataan operasi ternary hanya memerlukan satu baris kod, manakala pernyataan bersyarat mempunyai empat baris kod. Pernyataan operasi ternary mempunyai kod yang kurang dan lebih mudah dibaca, jadi dalam kebanyakan kes, boleh dikatakan bahawa pernyataan operasi ternary ialah singkatan daripada pernyataan bersyarat.

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.

Bagaimana untuk menggunakan pengendali ternary dalam Python?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

Kelebihan ungkapan operasi ternary

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.

2. Ungkapan operasi ternary yang ringkas boleh meningkatkan kebolehbacaan kod, menjadikan kod lebih Pythonic dan elegan.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan pengendali ternary dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam