มาพูดถึงลูปกันเถอะ
เราได้พูดถึงโอเปอเรเตอร์แบบมีเงื่อนไข ตัวดำเนินการเชิงตรรกะ
แต่ Loops มอบพลังใหม่ให้กับเครื่องจักรของเรา
แนวคิดของการวนซ้ำหรือการวนซ้ำในการเขียนโปรแกรมนั้นทรงพลังจริงๆ
เราเห็นว่าด้วยตัวดำเนินการเชิงตรรกะและตรรกะแบบมีเงื่อนไขสามารถข้ามบรรทัดในโปรแกรมของเราได้ เพื่อที่เราจะได้ไม่ไป
หนึ่ง สอง สาม สี่ ห้า หก และอื่น ๆ เสมอไป
แต่ลูปทำสิ่งที่น่าสนใจจริงๆ
ช่วยให้เราสามารถรันโค้ดซ้ำแล้วซ้ำอีก
และนั่นก็ทรงพลังมาก เพราะนั่นหมายความว่าเราสามารถทำสิ่งต่าง ๆ ได้เป็นพัน ๆ ครั้ง หลายล้านครั้ง
และนี่คือจุดที่เครื่องจักรเป็นเลิศ
เครื่องจักรเป็นเลิศในการทำงานเล็กๆ ซ้ำแล้วซ้ำเล่า รวดเร็วจริงๆ ดีกว่ามนุษย์มาก
ดังนั้นลูปจึงเป็นหนึ่งในคุณสมบัติที่ทรงพลังที่สุดของภาษาการเขียนโปรแกรม
แล้วเราจะสร้างมันขึ้นมาได้อย่างไร?
มันง่ายเหมือนการใช้สิ่งที่เราเรียกหรือใน Python เราเรียกมันว่าลูป
ด้วยคีย์เวิร์ด for นี้ เราสามารถพูดได้ว่า สมมติว่า item in zero to mastery ทำอะไรสักอย่าง
พวกมันก็เหมือนกับตัวดำเนินการตามเงื่อนไข แทนที่จะเป็น 4 ตัว แต่แล้วเราก็มีสิ่งนี้ตรงที่เรามีไอเท็มซึ่งเราไม่รู้จริงๆ
นี่คือตัวแปรที่เราสร้างขึ้น
เราสามารถตั้งชื่ออะไรก็ได้ที่เราต้องการ
เราสามารถพูดว่า ฉัน เราสามารถพูดได้ว่าตุ๊กตาหมี
สิ่งที่คุณต้องการ
นี่คือตัวแปรและตัวแปรจะถูกสร้างขึ้นที่นี่สำหรับแต่ละรายการหลังจาก
ในนั้นมันบอกว่า เฮ้ สำหรับทุกๆ ไอเท็มใน zero two mastery ให้ทำอะไรซักอย่าง
และเราเคยเห็นสิ่งนี้ในคำหลักมาก่อน
และเราจะเจาะลึกเรื่องนี้ในภายหลัง
แต่เราเรียกสิ่งนี้ว่า iterable
iterable คือสิ่งที่สามารถวนซ้ำได้
ดังนั้นการวนซ้ำทำให้เราสามารถใช้สัญกรณ์ a สำหรับบางสิ่งบางอย่างในการวนซ้ำเพื่อวนซ้ำแต่ละรายการ
ในกรณีของเรา ถ้าฉันพิมพ์รายการที่นี่ และฉันคลิกเรียกใช้
ดูนั่นสิ
มันพิมพ์แต่ละรายการใน iterable ซึ่งเป็นศูนย์สตริงที่จะเชี่ยวชาญ
ดังนั้นจดหมายทุกฉบับจึงเข้าไปในชั้นวางหนังสือทุกเล่มในหน่วยความจำของเครื่องและพิมพ์ทีละรายการ
วิธีนี้ใช้ได้กับสตริง แต่เรายังสามารถใช้รายการเช่น หนึ่ง สอง สาม สี่ และห้าที่เราเคยเห็นมาก่อน
ถ้าฉันคลิกเรียกใช้อีกครั้ง นี่เป็นการทำซ้ำได้
เราสามารถทำซ้ำและคว้าแต่ละรายการในรายการ
มาทำชุดกัน
เราทำสิ่งนี้กับชุดได้ไหม?
ถ้าฉันคลิกเรียกใช้
ที่ทำงานเช่นกัน
แล้วทูเพิลล่ะ?
ลองทำกับทูเพิลกัน
ถ้าฉันคลิกเรียกใช้
ที่ทำงานเช่นกัน
ที่น่าตื่นตาตื่นใจ.
แล้วพจนานุกรมล่ะ?
อีกหน่อยเราจะไปถึงพจนานุกรม
ดังนั้น สำหรับการวนซ้ำทำให้เราสามารถวนซ้ำสิ่งใดก็ตามที่มีชุดของรายการ เพื่อที่ในกรณีนี้ เราจะวนซ้ำหนึ่ง
สอง สาม สี่ ห้าครั้ง
และคุณสามารถเห็นตรงนี้ว่า เรามีคอลัมน์ และเยื้องเพื่อบอก Python ว่า เฮ้ อะไรก็ตามที่มาที่นี่
ฉันสามารถพิมพ์รายการอีกครั้ง ฉันสามารถพิมพ์รายการอีกครั้ง
ฉันสามารถทำได้หลายครั้งเท่าที่เป็นไปได้
ตราบใดที่ฉันมีรอยเยื้อง มันจะพิมพ์ตัวเลขของเราต่อไป
แต่ทันทีที่ฉันเปิดออก
ที่นี่.
และพิมพ์อย่างอื่น
ฉันได้รับเพียงครั้งเดียวเพราะมันไม่อยู่ในวง
ดังนั้นโปรแกรมของเราจึงรันสิ่งนี้ก่อน
มันจะพิมพ์สามครั้ง สอง สาม สี่ ห้า และสุดท้ายเท่านั้น
แล้วจะไปพิมพ์
คุณเห็นว่าเรากำลังวนซ้ำแล้วซ้ำอีก
จะเกิดอะไรขึ้นหากฉันลองพิมพ์รายการที่นี่
และฉันคลิกเรียกใช้
อืม.
คุณเห็นไหม
รายการได้รับการพิมพ์ที่ส่วนท้ายสุดที่นี่
ฉันไม่รู้ว่าคุณสังเกตเห็นไหม แต่คุณเห็นว่ามีสี่หรือห้าที่เราพิมพ์หนึ่งครั้ง
สอง สาม สี่สามครั้ง แต่ห้าครั้งได้รับการพิมพ์สี่ครั้ง เพราะการพิมพ์ครั้งสุดท้ายนี้ในตอนท้ายสุดคือ
ห้า.
เพราะเมื่อถึงเวลาสิ้นสุดการวนซ้ำรายการ
มูลค่าของสินค้าคือห้า
ให้ฉันถามคุณเรื่องนี้
ฉันจะทำอะไรบางอย่างเช่น สมมติว่า X ในรายการอื่นที่มีสตริง A, B และ C
ฉันสามารถทำสิ่งนี้ได้ไหม?
อย่างแน่นอน.
ฉันสามารถซ้อนสิ่งต่าง ๆ ใน Python
และตามจริงแล้ว เมื่อเราทำเงื่อนไขใน Python อย่างเช่น if ประโยค เราก็สามารถซ้อนเงื่อนไขเหล่านั้นได้เช่นกัน
เพราะใน Python จะเป็นการเยื้องเสมอ
ถูกต้อง.
ฉันสามารถพูดได้ว่าพิมพ์รายการที่นี่
แล้วยังพิมพ์
และคุณรู้อะไรไหม
มาพิมพ์กันต่อกัน
ฉันจะบอกว่าพิมพ์รายการและพิมพ์ X
ถ้าฉันคลิกเรียกใช้
คุณเห็นว่าเรากำลังพิมพ์หนึ่งและ A หนึ่งและ B หนึ่งและ C เนื่องจากรายการที่เราเรียกใช้บรรทัดที่หนึ่ง
ดังนั้นรายการจึงเป็นหนึ่ง
เราจะไปที่บรรทัดถัดไป บรรทัดที่สอง และเรากำลังจะบอกว่าเราจะวนซ้ำนี้
และเราจะบอกว่านี่คือ X นี่จึงเป็นหนึ่ง นี่จะเป็น A แล้ว Python ก็กลับมาที่บรรทัดที่สองเพราะเรายังอยู่ในลูปนี้และเราจะพูดว่า
เฮ้ X ตอนนี้คืออะไร
เสร็จแล้วเราก็ไปกันเถอะ
ดังนั้นมันจะรัน B และ C และเมื่อเสร็จแล้วมันจะย้อนกลับและตอนนี้เริ่มต้นด้วยสองตัวซึ่งอยู่ที่นี่ถึง
A ถึง B ถึง C ดังนั้นคุณจึงสามารถซ้อนลูปซ้ำแล้วซ้ำอีกได้เช่นกัน .
ไม่เป็นไร.
ดังนั้นนี่คือลูป
และตอนนี้อาจยังไม่ชัดเจนว่าทำไมสิ่งเหล่านี้ถึงมีประโยชน์
แต่ก่อนที่เราจะพูดถึงเรื่องนี้ ฉันต้องการพูดถึงแนวคิดของ Iterable นี้ในวิดีโอหน้า