- 1 1. บทนำ
- 2 2. วิธีเขียน if บนบรรทัดเดียวโดยใช้ตัวดำเนินการ ternary ของ Python
- 3 3. การรวม List Comprehensions กับ if Statements
- 4 4. การใช้ if และ for บนบรรทัดเดียวของ Python
- 5 5. if บนบรรทัดเดียวพร้อมการกำหนดค่าโดยใช้ expression (Walrus operator)
- 6 6. หมายเหตุเกี่ยวกับการใช้คำสั่ง if แบบบรรทัดเดียว
- 7 7. สรุปและขั้นตอนต่อไป
1. บทนำ
ในการเขียนโปรแกรม Python การเขียนคำสั่ง if บนบรรทัดเดียวช่วยทำให้โค้ดง่ายขึ้นและมีประโยชน์เป็นพิเศษในสถานการณ์ที่ต้องมีการแยกสาขาเงื่อนไขบ่อยครั้ง ในบทความนี้ เราจะอธิบายอย่างละเอียดหลายเทคนิคสำหรับการเขียนคำสั่ง Python “if” บนบรรทัดเดียว เรียนรู้วิธีเขียนโค้ดที่อ่านง่ายและมีประสิทธิภาพด้วยตัวอย่างเชิงปฏิบัติเช่น ตัวดำเนินการ ternary และ list comprehensions
2. วิธีเขียน if บนบรรทัดเดียวโดยใช้ตัวดำเนินการ ternary ของ Python
ใน Python คุณสามารถเขียนคำสั่ง if บนบรรทัดเดียวโดยใช้ตัวดำเนินการ ternary (conditional expression) ได้ ซึ่งมีประโยชน์เมื่อคืนค่าตามเงื่อนไขและช่วยให้โค้ดของคุณกระชับ
ไวยากรณ์ของตัวดำเนินการ ternary
ตัวดำเนินการ ternary ของ Python เขียนดังนี้:
variable = value1 if condition else value2
ด้วยไวยากรณ์นี้ “value1” จะถูกคืนค่าหากเงื่อนไขเป็น True และ “value2” จะถูกคืนค่าหากเป็น False
ตัวอย่าง: ตรวจสอบเลขคู่หรือคี่
เช่น คุณสามารถตรวจสอบว่าตัวเลขเป็นเลขคู่หรือคี่และคืนสตริงที่แตกต่างกันตามผลลัพธ์ได้ดังนี้:
number = 4
result = "even" if number % 2 == 0 else "odd"
print(result) # Output: even
เพราะคุณสามารถเขียนคำสั่ง if บนบรรทัดเดียวแบบนี้ ทำให้สะดวกมากสำหรับสาขาเงื่อนไขที่ง่าย
การใช้งานจริงของตัวดำเนินการ ternary
เช่น คุณสามารถใช้ตัวดำเนินการ ternary เพื่อแสดงข้อความขึ้นอยู่กับว่าผู้ใช้ล็อกอินหรือไม่
is_logged_in = True
message = "Welcome" if is_logged_in else "Please log in"
print(message) # Output: Welcome
ตัวดำเนินการ ternary เหมาะสำหรับการเลือกอย่างง่ายตามเงื่อนไข อย่างไรก็ตาม การเขียนตรรกะที่ซับซ้อนบนบรรทัดเดียวอาจทำให้การอ่านยาก จึงแนะนำให้ใช้เฉพาะในกรณีที่ตรงไปตรงมานั้นเท่านั้น 
3. การรวม List Comprehensions กับ if Statements
list comprehensions ของ Python ให้วิธีที่ทรงพลังในการเขียนโค้ดสั้น ๆ เพื่อสร้างรายการ เมื่อรวมกับ if statements คุณสามารถสร้างรายการตามเงื่อนไขที่กำหนดได้
ไวยากรณ์พื้นฐานของ List Comprehensions
เมื่อใช้ if statement ใน list comprehension คุณเขียนแบบนี้:
list = [expression for variable in iterable if condition]
ตัวอย่าง: สร้างรายการของเลขคู่
เพื่อเก็บเฉพาะเลขคู่จาก 0 ถึง 9 ลงในรายการ เขียนแบบนี้:
even_numbers = [x for x in range(10) if x % 2 == 0]
print(even_numbers) # Output: [0, 2, 4, 6, 8]
ตัวอย่างการประยุกต์ใช้ List Comprehensions
list comprehensions ยังมีประโยชน์สำหรับการกรองและแปลงข้อมูล ตัวอย่างเช่น สามารถช่วยในการดึงเฉพาะคำที่มีความยาวกำหนดจากรายการสตริงได้
words = ["apple", "banana", "cherry", "date"]
filtered_words = [word for word in words if len(word) > 5]
print(filtered_words) # Output: ['banana', 'cherry']
โดยใช้ list comprehensions คุณสามารถทำให้โค้ดสั้นลงในขณะที่ดึงหรือแปลงข้อมูลตามเงื่อนไขได้อย่างมีประสิทธิภาพ
4. การใช้ if และ for บนบรรทัดเดียวของ Python
โดยการรวม for และ if statements คุณสามารถเขียนโค้ดบรรทัดเดียวที่ประมวลผลเฉพาะองค์ประกอบที่ตรงตามเงื่อนไขที่กำหนด ซึ่งเป็นประโยชน์สำหรับการทำให้การดำเนินการกับรายการขนาดใหญ่เรียบง่ายขึ้น
ไวยากรณ์บนบรรทัดเดียวสำหรับ if และ for statements
ไวยากรณ์พื้นฐานเป็นดังนี้
list = [expression for variable in iterable if condition]
ตัวอย่าง: สร้างรายการของกำลังสองของเลขคู่
เพื่อสร้างรายการของกำลังสองของเลขคู่จาก 1 ถึง 10 ใช้โค้ดต่อไปนี้
squared_evens = [x**2 for x in range(1, 11) if x % 2 == 0]
print(squared_evens) # Output: [4, 16, 36, 64, 100]
ตัวอย่างการประยุกต์: กรองข้อมูลตามเงื่อนไขเฉพาะ
โค้ดนี้จะดึงเฉพาะตัวเลขบวกจากรายการและเก็บไว้ในรายการใหม่
numbers = [-5, -1, 2, 8, -3, 7]
positive_numbers = [num for num in numbers if num > 0]
print(positive_numbers) # Output: [2, 8, 7]
การเขียน if และ for ร่วมกันบนบรรทัดเดียวแบบนี้ช่วยลดความซ้ำซ้อนของโค้ดในขณะที่ทำให้การจัดการข้อมูลมีประสิทธิภาพ 
5. if บนบรรทัดเดียวพร้อมการกำหนดค่าโดยใช้ expression (Walrus operator)
นิพจน์การกำหนดค่า (ตัวดำเนินการวาลรัส) :=, ที่แนะนำตั้งแต่ Python 3.8 เป็นต้นไป, ทำให้สามารถกำหนดค่าตัวแปรภายในคำสั่ง if ได้ คุณลักษณะสำคัญคือมันทำให้คุณสามารถประเมินเงื่อนไขพร้อมกับเก็บผลลัพธ์ของการคำนวณไว้ได้
ไวยากรณ์และการใช้งานพื้นฐานของนิพจน์การกำหนดค่า
if (variable := expression) condition:
process
ตัวอย่าง: ใช้ความยาวของรายการเป็นเงื่อนไข
ความยาวของรายการถูกดึงมาและประเมินเป็นเงื่อนไข พร้อมกับทำการประมวลผลตามนั้น
some_list = [1, 2, 3, 4, 5]
if (length := len(some_list)) > 3:
print(f"The length of the list is {length}, which is greater than 3")
# Output: The length of the list is 5, which is greater than 3
กรณีการใช้งานเชิงปฏิบัติ
โดยการใช้ตัวดำเนินการวาลรัส คุณสามารถหลีกเลี่ยงการคำนวณซ้ำซ้อนและอาจปรับปรุงประสิทธิภาพได้ มันมีประสิทธิภาพเป็นพิเศษในสถานการณ์ที่ผลลัพธ์ของการคำนวณ—เช่นการดำเนินการกับรายการหรือสตริง—ต้องนำกลับมาใช้ใหม่
6. หมายเหตุเกี่ยวกับการใช้คำสั่ง if แบบบรรทัดเดียว
คำสั่ง if แบบบรรทัดเดียวมีพลังมาก แต่การใช้มากเกินไปอาจทำให้อ่านยาก ใช้เฉพาะการตรวจสอบเงื่อนไขง่าย ๆ เท่านั้น และเปลี่ยนไปใช้คำสั่ง if ปกติเมื่อจำเป็นต้องใช้ตรรกะที่ซับซ้อนมากขึ้น
7. สรุปและขั้นตอนต่อไป
ในบทความนี้ เราได้แนะนำเทคนิคต่าง ๆ สำหรับการเขียนคำสั่ง if ของ Python ในบรรทัดเดียว ตั้งแต่การแยกเงื่อนไขอย่างง่ายจนถึงการจัดการรายการและการใช้ตัวดำเนินการวาลรัส เราได้อธิบายถึงประโยชน์และข้อควรระวังของคำสั่ง if แบบบรรทัดเดียว ลองนำเทคนิคเหล่านี้ไปใช้เพื่อทำให้การเขียนโปรแกรม Python ของคุณในชีวิตประจำวันมีประสิทธิภาพมากขึ้น



