Python ทำลาย ดำเนินการต่อ ผ่านคำสั่งพร้อมตัวอย่าง

⚡ สรุปอย่างชาญฉลาด

Python คำสั่ง break, continue และ pass ใช้ควบคุมการไหลของลูป คำสั่ง break จะยุติลูป คำสั่ง continue จะข้ามการวนซ้ำปัจจุบัน และคำสั่ง pass ทำหน้าที่เป็นตัวยึดตำแหน่งที่ไม่ทำอะไรเลยเมื่อถูกเรียกใช้ภายในลูป ฟังก์ชัน หรือคลาส

  • 🔘 หยุดพัก: คำสั่ง break จะหยุดลูปทันทีและย้ายการควบคุมไปยังบรรทัดแรกถัดจากลูป
  • ☑️ ดำเนินการต่อ: คำสั่ง continue จะข้ามส่วนที่เหลือของการวนซ้ำในปัจจุบันและเริ่มต้นการวนซ้ำครั้งถัดไป
  • ผ่าน: คำสั่ง pass ไม่มีผลอะไร และทำหน้าที่เป็นเพียงตัวแทนสำหรับโค้ดที่จะเพิ่มเข้ามาในภายหลัง
  • 🧪 ลูปซ้อนกัน: คำสั่ง break หรือ continue จะส่งผลต่อลูปภายในสุดเท่านั้น โดยลูปภายนอกจะยังคงทำงานต่อไป
  • 🛠️ ทั้งสองลูป: คำสั่งทั้งสามนี้ใช้ได้ทั้งภายในลูป for และลูป while เพื่อเปลี่ยนแปลงลำดับการวนซ้ำตามปกติ
  • 🤖 ความช่วยเหลือจาก AI: ผู้ช่วย AI และ GitHub Copilot จะแนะนำและอธิบายการใช้งานคำสั่ง break, continue และ pass ที่ถูกต้อง

Python ทำลาย ดำเนินการต่อ ผ่านคำสั่ง

แนวคิดของลูปมีอยู่ในเกือบทุกภาษาการเขียนโปรแกรม Python ลูปช่วยในการวนซ้ำรายการ สิ่งอันดับ สตริง พจนานุกรม และชุด มีการรองรับลูปสองประเภท Python “สำหรับ” และ “ในขณะที่” บล็อกของโค้ดถูกดำเนินการหลายครั้งภายในลูปจนกว่าเงื่อนไขจะล้มเหลว

คำสั่งควบคุมแบบวนซ้ำจะทำลายขั้นตอนการดำเนินการและยุติ/ข้ามการวนซ้ำตามความต้องการของเรา Python การแบ่งและดำเนินการต่อจะใช้ภายในลูปเพื่อเปลี่ยนการไหลของลูปจากขั้นตอนมาตรฐาน

for-loop หรือ while-loop มีไว้เพื่อวนซ้ำจนกว่าเงื่อนไขที่กำหนดจะล้มเหลว เมื่อคุณใช้คำสั่ง break หรือ Continue การไหลของลูปจะเปลี่ยนจากวิธีปกติ

Python คำสั่งทำลาย

คำสั่งแบ่งดูแลการสิ้นสุดการวนซ้ำที่ใช้ หากใช้คำสั่งแบ่งภายในลูปที่ซ้อนกัน การวนซ้ำปัจจุบันจะสิ้นสุดลง และโฟลว์จะดำเนินต่อไปด้วยโค้ดที่ตามมาภายหลังการวนซ้ำ

แผนภูมิลำดับงานสำหรับคำสั่งแบ่งมีดังนี้:

Python คำสั่งทำลาย

ต่อไปนี้เป็นขั้นตอนที่เกี่ยวข้องกับแผนผังงาน

ขั้นตอน 1) การดำเนินการวนซ้ำเริ่มต้นขึ้น

ขั้นตอน 2) หากเงื่อนไขลูปเป็นจริง จะดำเนินการขั้นตอนที่ 2 โดยที่เนื้อความของลูปจะถูกดำเนินการ

ขั้นตอน 3) หากเนื้อหาของลูปมีคำสั่งแบ่ง ลูปจะออกและไปยังขั้นตอนที่ 6

ขั้นตอน 4) หลังจากดำเนินการและเสร็จสิ้นเงื่อนไขลูปแล้ว จะดำเนินการวนซ้ำครั้งถัดไปในขั้นตอนที่ 4

ขั้นตอน 5) หากเงื่อนไขลูปเป็นเท็จ มันจะออกจากลูปและไปที่ขั้นตอนที่ 6

ขั้นตอน 6) จุดสิ้นสุดของวง

แบ่งขั้นตอนการดำเนินการคำสั่ง

เมื่อ for-loop เริ่มทำงาน มันจะตรวจสอบเงื่อนไข if ถ้า จริงหากเงื่อนไขเป็นเท็จ คำสั่ง break จะถูกดำเนินการ และลูป for จะสิ้นสุดลง แต่ถ้าเงื่อนไขเป็นเท็จ โค้ดภายในลูป for จะถูกดำเนินการ

แบ่งขั้นตอนการดำเนินการคำสั่ง

เมื่อรัน while loop มันจะตรวจสอบเงื่อนไข if; ถ้ามันเป็น ความจริง คำสั่ง break จะถูกดำเนินการ และลูป while จะสิ้นสุดลง หากเงื่อนไขเป็นเท็จ โค้ดภายในลูป while จะถูกดำเนินการ

แบ่งขั้นตอนการดำเนินการคำสั่ง

ตัวอย่าง: แบ่งคำสั่งภายใน for-loop

รายการ my_list = ['สียา', 'ติยา', 'Guru', 'ดัคช์', 'ริยา', 'Guru'] ถูกวนซ้ำโดยใช้ลูป for เราสนใจที่จะค้นหาชื่อ 'Guru' จากรายการ my_list

ภายในลูป for เงื่อนไข if จะเปรียบเทียบแต่ละรายการจากลิสต์กับชื่อ 'Guruถ้าเงื่อนไขเป็นจริง ระบบจะเรียกใช้คำสั่ง break และลูปจะหยุดทำงาน

ตัวอย่างการทำงานโดยใช้คำสั่งแบ่งดังแสดงด้านล่าง:

my_list = ['Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 

for i in range(len(my_list)):
    print(my_list[i])
    if my_list[i] == 'Guru':
        print('Found the name Guru')
        break
        print('After break statement')

print('Loop is Terminated')

ผลลัพธ์ที่คาดหวัง:

Siya
Tiya
Guru
Found the name Guru
Loop is Terminated

ตัวอย่าง: แบ่งคำสั่งภายใน while-loop

my_list = ['Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
i = 0

while True:
    print(my_list[i])
    if (my_list[i] == 'Guru'):
        print('Found the name Guru')
        break
        print('After break statement')
    i += 1

print('After while-loop exit')

ผลลัพธ์ที่คาดหวัง:

Siya
Tiya
Guru
Found name Guru
After while-loop exit

ตัวอย่าง: แบ่งคำสั่งภายในลูปที่ซ้อนกัน

ในตัวอย่างนี้ เรามี for-loop 2 ตัว for-loop ทั้งสองกำลังวนซ้ำจากช่วง 0 ถึง 3 ใน for-loop ที่สอง เราได้เพิ่มเงื่อนไขโดยที่หากค่าของดัชนี for-loop ตัวที่สองเป็น 2 ก็ควรจะแตก

ดังนั้นเนื่องจากคำสั่งแบ่ง for-loop ที่สองจะไม่วนซ้ำสำหรับ 2 และ 3

for i in range(4):
    for j in range(4):          
        if j==2:    
            break
        print("The number is ",i,j);  

ผลลัพธ์ที่คาดหวัง:

The number is  0 0
The number is  0 1
The number is  1 0
The number is  1 1
The number is  2 0
The number is  2 1
The number is  3 0
The number is  3 1

Python ดำเนินการต่อ

การขอ ต่อ คำสั่งจะข้ามโค้ดที่ตามมา และตัวควบคุมจะถูกส่งกลับไปยังจุดเริ่มต้นสำหรับการวนซ้ำครั้งถัดไป

ไวยากรณ์:

continue

แผนภูมิการไหลต่อไป

Python ดำเนินการต่อ

ต่อไปนี้เป็นขั้นตอนที่เกี่ยวข้องกับแผนผังงาน

ขั้นตอน 1) การดำเนินการวนซ้ำเริ่มต้นขึ้น

ขั้นตอน 2) การรันโค้ดภายในลูปจะเสร็จสิ้น หากมีคำสั่งต่อเนื่องภายในลูป ตัวควบคุมจะกลับไปยังขั้นตอนที่ 4 กล่าวคือ จุดเริ่มต้นของลูปสำหรับการวนซ้ำครั้งถัดไป

ขั้นตอน 3) การรันโค้ดภายในลูปจะเสร็จสิ้น

ขั้นตอน 4) หากมีคำสั่ง Continue หรือการดำเนินการวนซ้ำภายในเนื้อหาเสร็จสิ้น มันจะเรียกการวนซ้ำครั้งถัดไป

ขั้นตอน 5) เมื่อการดำเนินการวนซ้ำเสร็จสิ้น วนซ้ำจะออกและไปยังขั้นตอนที่ 7

ขั้นตอน 6) หากเงื่อนไขการวนซ้ำในขั้นตอนที่ 1 ล้มเหลว เงื่อนไขจะออกจากการวนซ้ำและไปยังขั้นตอนที่ 7

ขั้นตอน 7) จุดสิ้นสุดของวง

ดำเนินการตามขั้นตอนการดำเนินการคำสั่งต่อไป

ลูป for จะวนซ้ำผ่านอาร์เรย์ my_list ที่กำหนดให้ ภายในลูป for เงื่อนไข if จะถูกดำเนินการ ถ้าเงื่อนไขเป็นจริง จริงคำสั่ง Continue จะถูกดำเนินการ และการควบคุมจะส่งผ่านไปยังจุดเริ่มต้นของลูปสำหรับการวนซ้ำครั้งถัดไป

การไหลของโค้ดมีดังต่อไปนี้:

ดำเนินการตามขั้นตอนการดำเนินการคำสั่งต่อไป

เมื่อรัน while loop มันจะตรวจสอบ if-condition หากเป็นเช่นนั้น ความจริง คำสั่ง continue จะถูกดำเนินการ การควบคุมจะกลับไปยังจุดเริ่มต้นของลูป while สำหรับการวนซ้ำครั้งต่อไป หากเงื่อนไขเป็นเท็จ โค้ดภายในลูป while จะถูกดำเนินการ

การไหลของโค้ดมีดังต่อไปนี้:

ดำเนินการตามขั้นตอนการดำเนินการคำสั่งต่อไป

ตัวอย่าง : ดำเนินการต่อภายใน for-loop

for i in range(10):    
    if i == 7:
        continue  
    print("The Number is :" , i)

ผลลัพธ์ที่คาดหวัง:

The Number is : 0
The Number is : 1
The Number is : 2
The Number is : 3
The Number is : 4
The Number is : 5
The Number is : 6
The Number is : 8
The Number is : 9

ตัวอย่าง : ดำเนินการต่อภายใน while-loop

i = 0
while i <= 10:    
    if i == 7:
        i += 1
        continue  
    print("The Number is  :" , i)
    i += 1

ผลลัพธ์ที่คาดหวัง:

The Number is  : 0
The Number is  : 1
The Number is  : 2
The Number is  : 3
The Number is  : 4
The Number is  : 5
The Number is  : 6
The Number is  : 8
The Number is  : 9
The Number is  : 10

ตัวอย่าง: ดำเนินการต่อภายใน Nested-loop

ตัวอย่างด้านล่างแสดงการใช้ 2 for-loops for-loop ทั้งสองกำลังวนซ้ำจากช่วง 0 ถึง 3 ใน for-loop ที่สอง มีเงื่อนไข โดยที่หากค่าของดัชนี for-loop ที่สองคือ 2 ก็ควร ต่อ- เพราะเหตุนั้น ต่อ คำสั่ง for-loop ที่สองจะข้ามการวนซ้ำสำหรับ 2 และดำเนินการต่อสำหรับ 3

for i in range(4):
    for j in range(4):          
        if j==2:    
            continue
        print("The number is ",i,j);

ผลลัพธ์ที่คาดหวัง:

The number is  0 0
The number is  0 1
The number is  0 3
The number is  1 0
The number is  1 1
The number is  1 3
The number is  2 0
The number is  2 1
The number is  2 3
The number is  3 0
The number is  3 1
The number is  3 3

Python ใบแจ้งยอดผ่าน

Python คำสั่ง pass จะใช้เป็นตัวแทนภายในลูป ฟังก์ชัน คลาส หรือคำสั่ง if ที่จะนำไปใช้งานในภายหลัง

วากยสัมพันธ์

pass

pass state คืออะไร Python?

Python pass เป็นคำสั่ง null เมื่อ Python เมื่อตัวแปลภาษาพบคำสั่ง pass มันจะไม่ทำอะไรและจะถูกละเลย

เมื่อใดจึงจะใช้ใบแจ้งยอดผ่าน?

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

คุณสามารถเพิ่มความคิดเห็นภายในเนื้อหาของฟังก์ชันหรือคลาสได้ แต่ล่ามจะเพิกเฉยต่อความคิดเห็นและจะทำให้เกิดข้อผิดพลาด

คำสั่ง pass สามารถใช้ภายในเนื้อหาของฟังก์ชันหรือเนื้อหาของคลาสได้ ในระหว่างการดำเนินการ ล่ามเมื่อเจอคำสั่ง pass จะเพิกเฉยและดำเนินการต่อโดยไม่มีข้อผิดพลาดใดๆ

ตัวอย่าง: คำสั่ง pass ภายในฟังก์ชัน

ในตัวอย่างนี้ pass จะถูกเพิ่มเข้าไปภายในฟังก์ชัน มันจะถูกดำเนินการเมื่อมีการเรียกใช้ฟังก์ชันดังที่แสดงด้านล่าง:

def my_func():
    print('pass inside function')
    pass
my_func()

ผลลัพธ์ที่คาดหวัง:

pass inside function

ตัวอย่าง: คำสั่ง pass ภายในชั้นเรียน

ในตัวอย่างด้านล่าง เราได้สร้างเพียงคลาสว่างที่มีคำสั่ง print ตามด้วยคำสั่ง pass คำสั่ง pass เป็นการบ่งชี้ว่าโค้ดภายในคลาส “My_Class” จะถูกนำไปใช้ในอนาคต

classMy_Class:
print("Inside My_Class")    
pass

Output:

Inside My_Class

ตัวอย่าง: คำสั่ง pass ภายในลูป

ในตัวอย่างด้านล่าง สตริง 'Guruเครื่องหมาย ' ถูกใช้ภายในลูป for เงื่อนไข if ตรวจสอบอักขระ 'r' และเรียกใช้คำสั่ง print ตามด้วย pass

# Pass statement in for-loop
test = "Guru"
for i in test: 
    if i == 'r': 
        print('Pass executed') 
        pass
    print(i)

ผลลัพธ์ที่คาดหวัง:

G
u
Pass executed
r
u

ตัวอย่าง: ส่งคำสั่งภายใน if-loop

ในตัวอย่าง ถ้าวนซ้ำ ตรวจสอบค่าของ a และหากเงื่อนไขเป็นจริง เงื่อนไขจะไปและพิมพ์คำสั่ง "pass Executed" ตามด้วย pass

a=1
if a==1:
    print('pass executed')
    pass

ผลลัพธ์ที่คาดหวัง:

pass executed

เมื่อใดจึงควรใช้คำสั่ง break และ Continue?

  • A ทำลาย คำสั่งเมื่อใช้ภายในลูปจะยุติการวนซ้ำและออก หากใช้ภายในลูปที่ซ้อนกัน มันจะแยกออกจากลูปปัจจุบัน
  • A ต่อ คำสั่งจะหยุดการดำเนินการปัจจุบันเมื่อใช้ภายในลูป และการควบคุมจะกลับไปที่จุดเริ่มต้นของลูป

ข้อแตกต่างที่สำคัญระหว่างคำสั่ง break และ Continue คือ เมื่อเจอคีย์เวิร์ด break คีย์เวิร์ดจะออกจากลูป

ในกรณีของคีย์เวิร์ด Continue การวนซ้ำปัจจุบันที่กำลังทำงานอยู่จะหยุดลง และจะดำเนินการวนซ้ำครั้งถัดไป

คำถามที่พบบ่อย

คำสั่ง continue จะข้ามส่วนที่เหลือของการวนซ้ำในปัจจุบันและกระโดดไปยังการวนซ้ำถัดไป ส่วนคำสั่ง pass นั้นไม่มีผลใดๆ — มันเป็นเพียงตัวยึดตำแหน่งที่ทำให้ลูป ฟังก์ชัน หรือคลาสมีความถูกต้องทางไวยากรณ์

คำสั่ง `break` จะออกจากลูปภายในสุดที่บรรจุคำสั่งนั้นเท่านั้น ดังนั้นลูปภายนอกจะยังคงทำงานต่อไป หากต้องการออกจากหลายลูปพร้อมกัน ให้ใช้ตัวแปรแฟล็ก หรือย้ายลูปเหล่านั้นไปไว้ในฟังก์ชันแล้วส่งค่ากลับ (return)

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

Python จะเกิดข้อผิดพลาดทางไวยากรณ์ (SyntaxError) เนื่องจากคำสั่ง break และ continue ใช้ได้เฉพาะภายในลูป for หรือ while เท่านั้น หากคุณต้องการใช้ตัวแปรแทนที่อยู่นอกลูป ให้ใช้คำสั่ง pass แทน ซึ่งสามารถใช้ได้ทุกที่ที่คาดว่าจะมีคำสั่งอื่นอยู่

เมื่อคำสั่ง break หรือ continue ทำงาน การควบคุมจะออกจากรอบการทำงานปัจจุบัน ดังนั้นคำสั่งที่เขียนต่อจากคำสั่งเหล่านั้นในบรรทัดถัดไปจะไม่สามารถเข้าถึงได้ ในตัวอย่างข้างต้น การเรียกใช้ print() หลัง break จะไม่ทำงานและถือเป็นโค้ดที่ไม่มีประโยชน์

คำสั่ง break จะออกจากลูปที่อยู่ใกล้ที่สุด แต่ฟังก์ชันยังคงทำงานต่อไป ส่วนคำสั่ง return จะออกจากฟังก์ชันทั้งหมดทันที โดยส่งค่ากลับไปและยุติลูปทั้งหมดภายในฟังก์ชันนั้นพร้อมกัน

ผู้ช่วย AI เช่น ChatGPT สามารถสร้างโค้ดควบคุมลูปจากคำอธิบายธรรมดา อธิบายว่าทำไมลูปจึงออกจากระบบก่อนกำหนด แจ้งเตือนเมื่อใช้คำสั่ง break หรือ continue ผิดที่ และแนะนำว่าควรใช้ pass, continue หรือ break เหมาะกับตรรกะของคุณมากที่สุด

ใช่แล้ว GitHub Copilot จะเติมคำสั่ง break, continue และ pass โดยอัตโนมัติจากความคิดเห็นหรือโค้ดโดยรอบ เครื่องมือ AI ของ Agentic ทำได้มากกว่านั้น โดยจะปรับโครงสร้างการไหลของลูป ลบโค้ดที่ไม่ได้ใช้งานหลังจากคำสั่ง break และแก้ไขข้อผิดพลาดในการควบคุมการไหลของโปรแกรมทั่วทั้งไฟล์โดยอัตโนมัติ

สรุปโพสต์นี้ด้วย: