Python ternary operator ให้คุณประเมินว่าสเงื่อนไขเป็นจริงหรือเท็จ ตัวดำเนินการ ternary ใช้พื้นที่เพียงบรรทัดเดียวของโค้ด ซึ่งหมายความว่ามันสั้นกว่าและกระชับกว่าคำสั่ง if…else เต็มรูปแบบ
คำสั่งเงื่อนไข (Conditional statements) เช่น คำสั่ง if ช่วยให้คุณควบคุมการไหลของโปรแกรมของคุณ โค้ดภายในคำสั่งเงื่อนไขจะรันก็ต่อเมื่อเงื่อนไขเฉพาะเจาะจงเป็นจริง (หรือชุดของเงื่อนไขเป็นจริง)
ใน Python วิธีที่พบบ่อยที่สุดในการเขียนคำสั่งเงื่อนไขคือการใช้ if อย่างไรก็ตาม ภาษานี้ยังเสนอวิธีในการทดสอบเงื่อนไขบนบรรทัดเดียว: ตัวดำเนินการ ternary ใน Python
บทช่วยสอนนี้จะอภิปราย พร้อมอ้างอิงตัวอย่าง พื้นฐานของคำสั่งเงื่อนไข และวิธีใช้ตัวดำเนินการ ternary ของ Python
Python Conditionals (Python เงื่อนไข)
เมื่อคุณเขียนโปรแกรม คุณอาจต้องการให้บรรทัดหรือบล็อกของโค้ดถูกรันเฉพาะเมื่อเงื่อนไขเป็นจริง นี่คือที่ที่คำสั่งเงื่อนไขมีประโยชน์
คำสั่ง if ของ Python ใช้เพื่อตรวจสอบว่าเงื่อนไขเป็นจริงหรือไม่
สมมติว่าเรากำลังสร้างแอปที่ตรวจสอบว่าลูกค้ามีสิทธิ์ได้รับส่วนลด 10% ที่โรงหนังหรือไม่ หากลูกค้ามีอายุ 65 ปีขึ้นไป พวกเขาควรได้รับส่วนลด มิฉะนั้น ไม่ควรให้ส่วนลด เราสามารถสร้างโปรแกรมนี้โดยใช้คำสั่ง if…else
แต่ คำสั่ง if ใช้พื้นที่อย่างน้อยสองบรรทัดของโค้ด มีวิธีที่กระชับกว่าในการเขียนคำสั่ง if หากคุณประเมินเพียงไม่กี่เงื่อนไข: ตัวดำเนินการ ternary ใน Python
Python Ternary Operator (ตัวดำเนินการ Ternary ของ Python)
ตัวดำเนินการ ternary เป็นประเภทของนิพจน์เงื่อนไขใน Python ที่ประเมินคำสั่ง ตัวดำเนินการ ternary ดำเนินการโดยอิงตามว่าคำสั่งนั้นเป็นจริงหรือเท็จ พวกเขากระชับกว่าคำสั่ง if…else แบบดั้งเดิม
ไวยากรณ์สำหรับคำสั่ง ternary ของ Python มีดังนี้:
[if_true] if [expression] else [if_false]
ตัวดำเนินการ ternary เงื่อนไขใน Python ได้ชื่อมาจากข้อเท็จจริงที่ว่ามันรับพารามิเตอร์สามตัว: if_true, expression, และ if_false
ตัวดำเนินการ ternary มักใช้เพื่อกำหนดค่าของตัวแปร ตัวแปรจะรับค่าของ "if_true" หากคำสั่งประเมินเป็น True หรือ "if_false" หากคำสั่งประเมินเป็น false
วิธีหนึ่งในการคิดถึงตัวดำเนินการ ternary คือเป็นสิ่งที่ Python list comprehension เป็นต่อการกรองรายการ หรือคุณอาจคิดถึงสิ่งที่ lambda function เป็นต่อการกำหนดฟังก์ชัน
ทั้ง list comprehensions และ lambda functions เป็นวิธีที่มีประสิทธิภาพมากกว่าในการดำเนินการ (การกรองรายการและการกำหนดฟังก์ชัน ตามลำดับ) นี่เหมือนกับวิธีที่ตัวดำเนินการ ternary เป็นวิธีที่มีประสิทธิภาพมากกว่าในการเขียนคำสั่ง if
แต่ เหมือนกับตัวดำเนินการ ternary พวกเขาควรใช้เพื่อปรับปรุงความอ่านง่ายของโค้ดของคุณเท่านั้น คุณไม่ควรใช้ตัวดำเนินการ ternary มากเกินไป มิฉะนั้นโค้ดของคุณอาจอ่านยากขึ้น
ตัวอย่าง Ternary Operator ใน Python (Ternary Operator Python Example)
สมมติว่าเราต้องการให้ลูกค้าที่โรงหนังของเราได้รับส่วนลดหากพวกเขาอายุ 65 ปีขึ้นไป หากลูกค้าอายุไม่ถึง 65 ปี พวกเขาไม่มีสิทธิ์ได้รับส่วนลด เราสามารถตรวจสอบว่าลูกค้ามีสิทธิ์ได้รับส่วนลดโดยใช้โค้ดต่อไปนี้:
age = 48 discount = True if age >= 65 else False print(discount)
โค้ดของเราคืนค่า: False.
ในบรรทัดแรก เราประกาศตัวแปร Python ชื่อ age ตัวแปรนี้ได้รับค่า 48 ต่อไป เราใช้ตัวดำเนินการ ternary เพื่อคำนวณว่าลูกค้ามีสิทธิ์ได้รับส่วนลดหรือไม่
ตัวดำเนินการ ternary ของเราประเมินนิพจน์ age >= 65 เนื่องจาก age เท่ากับ 48 นี่ประเมินเป็น False ดังนั้น โค้ดที่ปรากฏหลังคำสั่ง else จะถูกรัน
จากนั้น เราพิมพ์ผลลัพธ์ของตัวดำเนินการ ternary ของเราไปที่คอนโซล นี่คืนค่าค่า False
หากเราเปรียบเทียบตัวอย่างนี้กับตัวอย่างล่าสุดของเรา คุณจะเห็นว่ามันใช้บรรทัดโค้ดน้อยลงอย่างมาก โปรแกรมแรกของเราใช้ห้าบรรทัดของโค้ด และตัวนี้ใช้สามบรรทัด
ในตัวอย่างนี้ ตัวดำเนินการ ternary ของเราคืนค่าค่า boolean ของ Python (True หรือ False) อย่างไรก็ตาม เราสามารถอนุญาตให้ตัวดำเนินการ ternary ของเราคืนค่าอะไรก็ได้
Ternary Python กับค่าตัวเลข (Ternary Python with Numerical Values)
สมมติว่าเราต้องการตั้งอัตราส่วนลดเฉพาะขึ้นอยู่กับว่าผู้ใช้มีสิทธิ์ได้รับส่วนลดหรือไม่ โดยค่าเริ่มต้น โรงหนังของเราให้ส่วนลด 5% กับลูกค้าทุกคน แต่ผู้สูงอายุ (คนอายุ 65 ปีขึ้นไป) มีสิทธิ์ได้รับส่วนลด 10%
โปรแกรมต่อไปนี้ช่วยให้เราตรวจสอบว่าลูกค้ามีสิทธิ์ได้รับส่วนลดผู้สูงอายุหรือไม่ หากลูกค้าไม่มีสิทธิ์ได้รับส่วนลดผู้สูงอายุ พวกเขาจะได้รับส่วนลด 5%:
age = 22 discount = 5 if age < 65 else 10 print(discount)
โค้ดของเราคืนค่า: 5 ในโค้ดของเรา เรากำหนดค่า 22 ให้กับตัวแปร age
เราใช้ตัวดำเนินการ ternary เพื่อตรวจสอบว่าค่าของตัวแปร age น้อยกว่า 65 หรือไม่ เนื่องจากลูกค้าของเราอายุ 22 นิพจน์ age < 65 ประเมินเป็น True นี่หมายความว่าลูกค้าได้รับอัตราส่วนลด 5% หากลูกค้าของเราอายุ 65 ปีขึ้นไป พวกเขาจะได้รับอัตราส่วนลด 10%
จากนั้น เราพิมพ์ค่าของตัวแปร discount ไปที่คอนโซล
สรุป
ตัวดำเนินการ ternary ของ Python เป็นวิธีที่มีประสิทธิภาพมากกว่าในการดำเนินคำสั่ง if 简单 ตัวดำเนินการ ternary ประเมินเงื่อนไข จากนั้นคืนค่าเฉพาะขึ้นอยู่กับว่าเงื่อนไขนั้นเท่ากับ True หรือ False
ในตัวอย่างของเราข้างต้น เราสามารถรันคำสั่ง if บนบรรทัดเดียว นี่กระชับกว่าบรรทัดหลายบรรทัดที่มักจะใช้ในการสร้างคำสั่ง if
อย่างไรก็ตาม ตัวดำเนินการ ternary ไม่สามารถใช้ได้เสมอไป หากคุณต้องการทดสอบนิพจน์หลายอย่าง คุณควรเขียนคำสั่ง if เต็มรูปแบบ นี่จะทำให้โค้ดของคุณอ่านง่ายและเข้าใจง่าย
บทช่วยสอนนี้อภิปราย พร้อมอ้างอิงตัวอย่าง พื้นฐานของตัวดำเนินการ ternary ของ Python และวิธีการทำงาน ตอนนี้คุณมีความรู้ที่จำเป็นในการใช้ตัวดำเนินการนี้อย่างมืออาชีพ Python แล้ว!
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการเขียนโค้ดใน Python โปรดอ่านคู่มือสมบูรณ์ของเราเกี่ยวกับ How to Learn Python