Operator Ternary Dalam Python – Apa? Bagaimana? kenapa?

Operator Ternary Dalam Python – Apa? Bagaimana? kenapa?

Dalam dunia pengaturcaraan, mempunyai keupayaan untuk memudahkan kod adalah berharga untuk kedua-dua kebolehbacaan dan kecekapan kod. Satu alat yang anda gunakan untuk melakukan ini dalam Python ialah pengendali ternary.

Operator ternary Python (atau ungkapan bersyarat) membolehkan anda menilai pernyataan berdasarkan sama ada keadaan yang diberikan adalah benar atau palsu, semuanya dalam satu baris kod. Ia boleh menggantikan pernyataan if-else berbilang baris dengan berkesan menjadikan kod anda lebih padat.

Semasa kami meneroka potensi pengendali ternary Python , anda akan mendapati bahawa mereka boleh menjadi sangat berguna untuk mengoptimumkan program anda. Sama ada untuk memudahkan logik membuat keputusan atau memperkemas kod anda, menggunakan pengendali ternary Python dengan berkesan boleh menjadikan kod anda lebih mudah dibaca dan difahami.

Jadi, mari kita lihat di bawah tudung dan lihat apa yang mereka semua tentang!

Operator Ternary Dalam Python – Apa?  Bagaimana?  kenapa?

Isi kandungan

Apakah Operator Ternary Python?

Pengendali Python Ternary menawarkan cara ringkas untuk menilai pernyataan berdasarkan sama ada keadaan itu benar atau palsu, menjadikan kod anda padat dan lebih mudah dibaca. Sesetengah orang juga memanggilnya ungkapan bersyarat atau pengendali bersyarat.

Sintaks Asas

Operator ternary telah diperkenalkan dalam Python 2.5 dan mempunyai struktur ringkas yang terdiri daripada tiga operan:

#demonstrate python ternary operator syntax

result = value_if_true if condition else value_if_false

Sintaks ini terdiri daripada tiga bahagian utama:

  1. Syarat : Ini ialah ungkapan boolean yang dinilai sama ada benar atau palsu, a

  2. value_if_true : Nilai yang dikembalikan jika ungkapan boolean adalah benar.

  3. value_if_false : Nilai yang dikembalikan jika ungkapan boolean adalah palsu.

Kes Penggunaan Biasa

Pengendali ternary atau ungkapan bersyarat sering digunakan untuk memudahkan pernyataan if-else pendek dalam kod anda. Berikut ialah beberapa contoh untuk menggambarkan bagaimana anda boleh menggunakan pengendali ternary Python:

Contoh 1: Menetapkan nilai berdasarkan syarat

 age = 25
 
category = "adult" if age >= 18 else "minor"

Dalam contoh ini, pengendali ternary Python memberikan nilai " dewasa " kepada kategori pembolehubah jika umur lebih besar daripada atau sama dengan 18, dan " kecil " sebaliknya.

Dengan mengandaikan kami memilih untuk menggunakan pernyataan if-else dan bukannya pengendali ternary Python, ia akan kelihatan seperti ini:

age = 25

if age > 18:
   category = "Adult"
else:
   category = "Minor"

Dalam kes ini, kita dapat melihat bahawa menggunakan operator ternary menjadikan kod lebih padat dan mudah dibaca.

Contoh 2: Memilih yang terkecil daripada dua nombor

a = 10
b = 15

smallest = a if a < b else b

Di sini, pengendali bersyarat ternary membantu anda menentukan yang terkecil daripada dua nombor dengan mengembalikan nilai yang lebih kecil antara a dan b.

Contoh 3: Menetapkan nilai minimum dua pembolehubah:

num1 = 10
num2 = 20

min_num = num1 if num1 < num2 else num2
print(min_num)

Output untuk contoh ini ialah 10, kerana pengendali ternary menilai keadaan dan mengembalikan nilai yang lebih kecil.

Contoh 4: Mencari sama ada nombor genap atau ganjil:

num = 5

result = "Even" if num % 2 == 0 else "Odd" 
print(result)

Output untuk contoh ini ialah Odd , kerana keadaan dinilai kepada False , dan operator ternary mengembalikan hasil yang sesuai.

Contoh-contoh ini menunjukkan cara pengendali ternary Python boleh menjadikan kod anda lebih ringkas dan lebih mudah dibaca. Dengan menggunakan sintaks asas dan memahami kes penggunaan biasa, anda boleh menggabungkan operator ternary ke dalam kod Python anda dengan berkesan.

Dalam aplikasi yang lebih praktikal, anda boleh menggunakannya bersama dengan gelung untuk menyemak, menilai atau melaksanakan operasi pada data.

Untuk pengendalian data yang lebih cekap, anda boleh lihat video ini tentang Cara Mengendalikan Data Hilang Dalam Python Dengan Interpolasi.

Cara Menggunakan Operator Python Ternary

Sintaks if-else operator ternary biasa hanyalah salah satu daripada banyak cara kita boleh melaksanakan operator ternary Python. Kami juga boleh melaksanakannya dengan menggunakan struktur data biasa seperti kamus Python, tupel dan senarai.

Mari lihat beberapa kaedah ini:

Pemetaan Kamus

Anda boleh meniru pengendali ternary Python dengan pemetaan kamus untuk menyimpan keputusan untuk keadaan yang berbeza. Ia boleh berguna apabila anda mempunyai set syarat yang terhad dan hasil yang sepadan.

Berikut ialah contoh menggunakan pemetaan kamus untuk menyemak sama ada nombor genap atau ganjil:

#Implement python ternary operator with dictionary mapping

number = 7
result = {True: "Even", False: "Odd"}

is_even = result[number % 2 == 0]

Atur cara di atas akan mengembalikan " Ganjil " kerana ungkapan boolean dalam kurungan dinilai kepada Salah.

Menggunakan Tuples

Python tuple ialah struktur data yang teratur dan tidak berubah yang boleh anda gunakan untuk melaksanakan pengendali ternary. Pada asasnya, operator ternary tuple mempunyai sintaks:

(condition_is_false, condition_is_true)[condition]

Keadaan ini menilai sama ada Benar atau Salah yang dalam Python adalah sama dengan integer 1 dan o masing-masing.

Jadi, tuple mengembalikan mana-mana elemen yang sepadan dengan indeks yang terhasil. Sebagai contoh, jika syarat menilai kepada Benar iaitu 1 , kod mengembalikan condition_is true .

Jika tidak, ia menilai kepada False iaitu 0, dan tuple mengembalikan condition_is_false . Berikut adalah contoh di bawah:

#Implement ternary operator with tuples

c = False
result = ('a', 'b')[c]

Tuple akan menyimpan nilai ' a ' dalam hasil pembolehubah kerana keadaan dinilai kepada False. Kebanyakan pembangun tidak suka menggunakan format ini untuk pengendali ternary kerana ia boleh menjadi sedikit mengelirukan, yang menggagalkan tujuan.

Fungsi Lambda

Fungsi Lambda ialah fungsi satu talian tanpa nama yang boleh anda gunakan sebagai alternatif kepada pengendali ternary. Mereka membenarkan anda melakukan pengiraan mudah dan mengembalikan hasil berdasarkan syarat yang diberikan.

Berikut ialah contoh menggunakan fungsi lambda untuk mencari maksimum dua nombor:

#implement python ternary operator with lambda functions

a, b = 10, 20
max_value = (lambda: a, lambda: b)[a < b]()

Fungsi lambda mengembalikan a jika keadaan bernilai True . Jika tidak, ia mengembalikan b .

Apakah itu Nested Ternary Operator?

Pengendali ternary bersarang ialah ungkapan bersyarat dengan dua atau lebih ungkapan boolean. Anda boleh mencipta ini dengan merantai dua atau lebih syarat boolean bersama-sama untuk menyemak berbilang syarat.

Kita boleh menggunakan jenis operator ternary ini untuk memodelkan pernyataan " elif " dan blok if-else bersarang.

Mari lihat contoh pengendali ternary Python bersarang .

age = 21

#Normal elif statement
if age< 21:
   print('Child')
elif age< 25:
   print ('young adult')
else:
   print('Adult')

#elif statement as a ternary operator
print('Child') if age < 18 else print('Young adult') if age <21 else print ('Old Person')

#Output: 'Young Adult'

Anda boleh menambah kurungan pada pengendali ternary Python jika anda ingin meniru pernyataan if-else bersarang. Walau bagaimanapun, ini bukan amalan yang baik kerana pengendali ternary boleh menjadi sangat panjang dan tidak boleh dibaca.

Dalam kes seperti ini, anda lebih baik menggunakan blok if-else standard dalam kod anda.

Apakah Kelebihan Operator Python Ternary?

Terdapat banyak kelebihan yang anda perolehi daripada menggunakan pengendali ternary Python dalam kod anda. Beberapa kelebihan ini termasuk:

Kebolehbacaan dan Keringkasan Kod

Menggunakan pengendali ternary Python boleh menjadikan kod anda lebih ringkas, membolehkan anda menulis ungkapan bersyarat dalam satu baris.

Ini amat membantu apabila berurusan dengan keadaan yang mudah dan mudah. Kod anda boleh menjadi lebih mudah dibaca dan lebih mudah difahami, kerana ia mengurangkan keperluan untuk berbilang baris pernyataan if-else.

Pertimbangan Prestasi

Walaupun pengendali ternary boleh membawa kepada kod yang lebih padat, kesannya terhadap prestasi biasanya minimum. Jurubahasa Python direka untuk mengoptimumkan pelaksanaan kod, bermakna kedua-dua operator ternary dan pernyataan if-else umumnya mempunyai ciri prestasi yang serupa.

Semasa menulis kod Python, utamakan kebolehbacaan dan kebolehselenggaraan berbanding prestasi, melainkan anda bekerja dengan aplikasi kritikal prestasi.

Ingat bahawa situasi yang berbeza memerlukan pendekatan yang berbeza. Kadangkala, menggunakan operator ternary adalah berfaedah, manakala dalam kes lain, berpegang pada kenyataan if-else tradisional mungkin lebih sesuai.

Kelemahan Operator Ternary Python

Pengendali ternary sangat bagus untuk memudahkan kod anda dan menjadikannya padat. Walau bagaimanapun, menggunakannya mungkin mempunyai beberapa kelemahan.

Berikut adalah beberapa kelemahan ini:

Operator Ternary Bersarang Boleh Dapatkan Kompleks

Dalam sesetengah kes, pengendali ternary mungkin membuat kod kurang boleh dibaca, terutamanya apabila menggunakan keadaan kompleks atau bersarang. Dalam situasi ini, menggabungkan pernyataan if-else konvensional mungkin lebih sesuai untuk mengekalkan kejelasan kod.

Ini benar terutamanya apabila anda cuba menggantikan pernyataan if-else bersarang dengan pengendali ternary. Ia jarang menghasilkan kod bersih.

Setiap Operan ialah Ungkapan

Semua operan atau nilai pulangan dalam pengendali ternary Python adalah ungkapan, bukan pernyataan. Cuba untuk menggunakan pernyataan tugasan dalam sintaks pengendali ternary akan membawa kepada ralat sintaks.

Anda boleh menyemak contoh ini dalam kod di bawah.

'Adult' if True else x = 44

Seperti yang anda lihat di bawah, ia mengakibatkan ralat sintaks. Dalam kes seperti ini, anda harus menggunakan blok if-else dan bukannya pengendali bersyarat.

Operator Ternary Dalam Python – Apa?  Bagaimana?  kenapa?

Amalan dan Petua Terbaik

Apabila menggunakan operator ternary dalam Python, terdapat beberapa amalan terbaik dan petua untuk membantu anda menulis kod yang bersih, cekap dan boleh dibaca.

Pertama, pastikan ungkapan bersyarat anda pendek dan ringkas. Keadaan yang panjang dan kompleks mungkin menyukarkan untuk memahami logik di sebalik pengendali ternary.

Jika anda mendapati diri anda menghadapi keadaan yang rumit, mungkin lebih baik anda menggunakan pernyataan if-else biasa.

#demonstrate nested ternary operator
# Good example 
result = "positive" if number >= 0 else "negative" 


# Bad example 
result = (a + b if (x > 10 and y > 20) else c + d) if (z > 30 and p > 40) else ...

Kedua, elakkan bersarang berbilang operator ternary, yang boleh membawa kepada kod yang mengelirukan dan tidak boleh dibaca. Seperti keadaan yang rumit, pertimbangkan untuk menggunakan pernyataan if-else untuk lebih mudah dibaca.

# Good example 

x = A if condition1 else B if condition2 else C 

# Bad example 
x = A if condition1 else (B if condition2 else (C if condition3 else ...)) 

Akhir sekali, perhatikan kes penggunaan yang sesuai untuk pengendali ternary. Ia paling sesuai untuk tugasan satu baris yang ringkas di mana keadaan dan hasil kedua-duanya mudah difahami.

Jika kod anda melibatkan logik, gelung atau berbilang tugasan yang lebih kompleks, adalah lebih baik untuk berpegang pada pernyataan if-else tradisional.

Soalan Lazim tentang Operator Ternary Python

Berikut ialah beberapa soalan pengaturcara baharu yang biasanya bertanya kepada kami tentang pengendali ternary:

Bagaimanakah anda menggunakan pengendali ternary dalam pernyataan pulangan dalam Python?

Anda boleh menggunakan pengendali ternary Python dalam pernyataan pemulangan fungsi. Apa yang anda perlu lakukan ialah menambahnya pada penyata pulangan.

Berikut adalah contoh:

#program to check cheese age

def is_legal(age):
  return 'legal' if age > 18 else 'Not legal'

Adakah pengendali ternary lebih pantas daripada pernyataan if-else dalam Python?

Tidak, kedua-duanya mempunyai ciri prestasi yang serupa. Pengendali ternary dan pernyataan if-else kedua-duanya mempunyai kerumitan masa O(1).


Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Cara Menyimpan & Memuatkan Fail RDS Dalam R

Cara Menyimpan & Memuatkan Fail RDS Dalam R

Anda akan belajar cara menyimpan dan memuatkan objek daripada fail .rds dalam R. Blog ini juga akan membincangkan cara mengimport objek dari R ke LuckyTemplates.

N Hari Perniagaan Pertama Dilawati Semula – Penyelesaian Bahasa Pengekodan DAX

N Hari Perniagaan Pertama Dilawati Semula – Penyelesaian Bahasa Pengekodan DAX

Dalam tutorial bahasa pengekodan DAX ini, pelajari cara menggunakan fungsi GENERATE dan cara menukar tajuk ukuran secara dinamik.

Pamerkan Cerapan Menggunakan Teknik Visual Dinamik Berbilang Thread Dalam LuckyTemplates

Pamerkan Cerapan Menggunakan Teknik Visual Dinamik Berbilang Thread Dalam LuckyTemplates

Tutorial ini akan merangkumi cara menggunakan teknik Visual Dinamik Berbilang Thread untuk mencipta cerapan daripada visualisasi data dinamik dalam laporan anda.

Pengenalan Untuk Menapis Konteks Dalam LuckyTemplates

Pengenalan Untuk Menapis Konteks Dalam LuckyTemplates

Dalam artikel ini, saya akan menjalankan konteks penapis. Konteks penapis ialah salah satu topik utama yang perlu dipelajari oleh mana-mana pengguna LuckyTemplates pada mulanya.

Petua Terbaik Menggunakan Aplikasi Dalam Perkhidmatan Dalam Talian LuckyTemplates

Petua Terbaik Menggunakan Aplikasi Dalam Perkhidmatan Dalam Talian LuckyTemplates

Saya ingin menunjukkan cara perkhidmatan dalam talian LuckyTemplates Apps boleh membantu dalam mengurus laporan dan cerapan berbeza yang dijana daripada pelbagai sumber.

Analisis Perubahan Margin Keuntungan Lebih Masa – Analitis Dengan LuckyTemplates Dan DAX

Analisis Perubahan Margin Keuntungan Lebih Masa – Analitis Dengan LuckyTemplates Dan DAX

Ketahui cara untuk menyelesaikan perubahan margin keuntungan anda menggunakan teknik seperti mengukur percabangan dan menggabungkan formula DAX dalam LuckyTemplates.

Idea Pewujudan Untuk Cache Data Dalam DAX Studio

Idea Pewujudan Untuk Cache Data Dalam DAX Studio

Tutorial ini akan membincangkan tentang idea pewujudan cache data dan cara ia mempengaruhi prestasi DAX dalam memberikan hasil.

Pelaporan Perniagaan Menggunakan LuckyTemplates

Pelaporan Perniagaan Menggunakan LuckyTemplates

Jika anda masih menggunakan Excel sehingga sekarang, maka inilah masa terbaik untuk mula menggunakan LuckyTemplates untuk keperluan pelaporan perniagaan anda.

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu