Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

คำสั่ง pass ใน Python: คู่มือฉบับสมบูรณ์

คำสั่ง pass ใน Python เป็นคีย์เวิร์ดสำรองไว้ใช้แทน (placeholder) ใช้ในบล็อกโค้ดที่ว่างเปล่า เช่น คำสั่ง for หรือ if เพื่อป้องกันไม่ให้เกิดข้อผิดพลาดทางไวยากรณ์ (syntax error) Python จะจดจำส่วนของโค้ดที่มีคำสั่ง pass ว่าเป็นส่วนว่างเปล่า


คุณอาจพบสถานการณ์ที่ต้องการใส่ placeholder ไว้ในคลาส ฟังก์ชัน หรือกระบวนการต่างๆ ตัวอย่างเช่น คุณกำลังเขียนโปรแกรมขนาดใหญ่และต้องการเพิ่มลูป for แต่ลูปนี้ยังทำงานไม่ได้ เพราะมีโค้ดอื่นที่ต้องเขียนก่อน

นี่คือที่มาของคำสั่ง pass ใน Python คำสั่ง pass ใช้เป็น placeholder สำหรับการนำฟังก์ชัน คลาส ลูป และบล็อกโค้ดอื่นๆ ไปใช้งานจริงในอนาคต

บทช่วยสอนนี้จะอธิบายวิธีใช้คำสั่ง pass ใน Python พร้อมตัวอย่างการใช้งานจริง

คำสั่ง pass ใน Python

คำสั่ง pass บอก Python ว่าส่วนของโค้ดนี้ว่างเปล่า แต่ไม่ควรคืนค่า syntax error ตัวแปลภาษา (interpreter) จะอ่านและประมวลผลคำสั่ง pass แต่คีย์เวิร์ดนี้ไม่รบกวนการทำงานของโปรแกรม

ไวยากรณ์ของคำสั่ง pass:

pass

คำสั่ง pass ไม่รับอาร์กิวเมนต์หรือตัวแปรใดๆ เป็นคีย์เวิร์ดที่ทำงานได้ด้วยตัวมันเอง คล้ายกับคีย์เวิร์ด return ใน Python

มีหลายสถานการณ์ที่การใช้ pass จะเป็นประโยชน์

81% ของผู้เข้าร่วมระบุว่ามีความมั่นใจมากขึ้นในโอกาสทางอาชีพด้านเทคโนโลยีหลังจากเข้าร่วมบูตแคมป์ ติดต่อเพื่อหาบูตแคมป์ที่เหมาะกับคุณวันนี้

นักเรียนบูตแคมป์เฉลี่ยใช้เวลาน้อยกว่า 6 เดือนในการเปลี่ยนสายอาชีพ ตั้งแต่เริ่มเรียนจนหางานแรกได้

แม้จะไม่มีหลักเกณฑ์เฉพาะเจาะจงเกี่ยวกับวิธีใช้คำสั่ง pass แต่คำสั่งนี้จำเป็นทางไวยากรณ์สำหรับ:

  • กำหนดคลาสและฟังก์ชันว่างเปล่า
  • ข้ามโค้ดภายในบล็อก try except
  • ข้ามโค้ดในลูป

บล็อกโค้ดเหล่านี้ไม่สามารถไม่มีโค้ดอยู่ได้ หากคุณไม่ใส่โค้ดในบล็อกเหล่านี้ Python จะคืนค่า syntax error

ตัวอย่างการใช้งาน pass ใน Python

มาดูตัวอย่างการใช้คำสั่ง pass ใน Python กัน

ตัวอย่างคลาสบัญชีธนาคาร

สมมติว่าคุณกำลังพัฒนาโปรแกรมจัดเก็บข้อมูลบัญชีธนาคารสำหรับบัญชีออมทรัพย์และบัญชีกระแสรายวัน เรากำหนดโครงสร้างข้อมูลบัญชีด้วยคลาสใน Python

ก่อนเริ่มทำงานกับคลาสบัญชีออมทรัพย์ คุณต้องการเน้นไปที่คลาสบัญชีกระแสรายวันก่อน

เพื่อเตือนตัวเองให้กลับมาทำงานกับคลาสบัญชีออมทรัพย์ภายหลัง คุณสามารถเพิ่ม placeholder ในคลาสบัญชีออมทรัพย์ได้

ลองเพิ่มคำสั่ง pass ลงในคลาสบัญชีออมทรัพย์ คำสั่ง pass จะทำหน้าที่เป็น placeholder รอจนกว่าคุณจะเสร็จสิ้นคลาสบัญชีกระแสรายวัน จากนั้นคุณสามารถลบ placeholder และใส่โค้ดจริงได้ ดูตัวอย่าง:

class CheckingAccount(name):
    def __init__(self, name):
        self.name = name

class SavingsAccount:
    pass

เมื่อโค้ดรัน ทั้งคลาส CheckingAccount และ SavingsAccount จะถูกสร้างขึ้น แต่คลาส SavingsAccount ยังไม่มีหน้าที่ใดๆ คีย์เวิร์ด pass ใช้เป็น placeholder จนกว่าเราจะเพิ่มโค้ดที่ต้องการรันในคลาสนี้

ตัวอย่างลูป for ร้านหนังสือ

มาดูตัวอย่างการใช้ pass เพื่อข้ามโค้ดในลูป สมมติเราเป็นเจ้าของร้านหนังสือ ต้องการพิมพ์ชื่อหนังสือทุกเล่มในรายการหนังสือประเภท "การสร้างนิสัย" ออกมาที่คอนโซล แต่ไม่ต้องการพิมพ์ "Atomic Habits" ซึ่งหมดสต็อกแล้ว เราสามารถใช้โค้ดนี้:

books = ['The Power of Habit', 'Atomic Habits', 'Hooked: A Guide to Building Habit Forming Products', 'Mini Habits', 'The Miracle Morning']
for i in range(0, len(books)):
    if books[i] == 'Atomic Habits':
        pass
    else:
        print(books[i])
print('Program complete.')

โค้ดจะคืนค่า:

The Power of Habit
Hooked: A Guide to Building Habit Forming Products
Mini Habits
The Miracle Morning
Program complete.

บรรทัดแรก เราประกาศอาร์เรย์ใน Python ซึ่งมีหนังสือในหมวด "การสร้างนิสัย" ของร้านเรา

จากนั้นประกาศลูป for เพื่อวนลูปผ่านหนังสือทุกเล่มในอาร์เรย์ books

ถ้าชื่อหนังสือคือ "Atomic Habits" โค้ดจะข้ามไป ไม่เช่นนั้น โปรแกรมจะพิมพ์ชื่อหนังสือออกคอนโซล เมื่อลูปทำงานเสร็จ โปรแกรมจะพิมพ์ข้อความ "Program complete."

pass ทำหน้าที่เป็น placeholder อนุญาตให้เราข้ามการพิมพ์ชื่อหนังสือ "Atomic Habits"

ถ้าเราไม่ใส่คำสั่ง pass โค้ดจะเป็นแบบนี้:

...
for i in range(0, len(books)):
    if books[i] == 'Atomic Habits':
    else:
        print(books[i])
…

เมื่อรันโค้ดนี้ Python จะคืนค่าข้อผิดพลาด เพราะคำสั่ง if ไม่สามารถว่างเปล่าได้ ข้อผิดพลาดที่ได้คือ:

IndentationError: expected an indented block

อาจเป็นที่ในอนาคตเราต้องการเพิ่มโค้ดเพิ่มเติมที่นี่ เช่น พิมพ์ข้อความว่าหนังสือเล่มนี้หมดสต็อก หรืออาจปล่อยไว้เป็นเช่นนี้ก็ได้

สรุป

คำสั่ง pass ใน Python เป็น placeholder แสดงว่าคุณตั้งใจจะเพิ่มโค้ดในส่วนนั้นของโปรแกรมภายหลัง ไวยากรณ์คือ: pass คุณสามารถใช้คำสั่ง pass ในลูป คำสั่ง if หรือคลาสได้

บทช่วยสอนนี้อธิบายวิธีใช้คำสั่ง pass ใน Python เพื่อใส่ placeholder statements และเหตุผลที่อาจต้องใช้คำสั่ง pass

คุณสนใจเรียนรู้การเขียนโค้ดใน Python หรือไม่? เรามีคู่มือ "How to Learn Python" ที่เขียนขึ้นเพื่อช่วยนักพัฒนาระดับเริ่มต้นและกลาง เริ่มหรือต่อยอดการเรียนรู้ ตรวจสอบคู่มือที่หน้า How to Learn Python ของเรา