เพื่อที่จะสรุปความเข้าใจเกี่ยวกับฟังก์ชัน เราต้องพูดถึงขอบเขต
อีกหนึ่งเงื่อนไขสำคัญของเรา
ขอบเขตคืออะไร?
มาดูกันเลย
ขอบเขตเป็นสิ่งที่มีอยู่ในภาษาโปรแกรมมากมาย
และขอบเขตก็หมายความว่าฉันมีตัวแปรอะไร?
การเข้าถึง.
แค่นั้นแหละ.
แล้วฉันหมายความว่าอย่างไร?
เราเคยเห็นสิ่งนี้มาก่อน ตรงที่ฉันพิมพ์ แล้วสมมติว่าชื่อถ้าฉันคลิกเรียกใช้
ฉันจะได้รับข้อผิดพลาด
ชื่อผิดพลาด.
ชื่อไม่ได้กำหนดไว้เพราะ
มันไม่มีอยู่จริง
ถูกต้อง.
และจนถึงจุดนี้ เราไม่ได้พูดถึงเรื่องนี้จริงๆ แต่เป็นเพราะขอบเขต
ฉันมีสิทธิ์เข้าถึงตัวแปรใดบ้าง
ล่าม Python พูดว่า เฮ้ ฉันจะเข้าถึงอะไรได้บ้าง
และเมื่อเราใช้บางอย่างที่มันไม่เข้าใจหรือเข้าถึงไม่ได้ มันจะสร้างชื่อผิดพลาด
หรือตัวแปรไม่ได้กำหนดไว้ที่นี่ และขอบเขตใน python มีสิ่งที่เราเรียกว่าขอบเขตการทำงานหรือขอบเขตฟังก์ชัน
นั่นหมายความว่าอย่างไร?
จนถึงตอนนี้ เมื่อเราสร้างตัวแปรแบบ Total เท่ากับ 100 นี่เป็นส่วนหนึ่งของสิ่งที่เราเรียกว่า Global
scope
นั่นหมายความว่าทุกคนในไฟล์นี้สามารถเข้าถึงตัวแปรทั้งหมดได้
ฉันสามารถใช้สิ่งนี้ภายในบล็อกแบบมีเงื่อนไข
ฉันสามารถใช้มันภายในฟังก์ชัน
มันมีขอบเขตทั่วโลก
แต่เมื่อฉันบอกว่า Python มีขอบเขตของฟังก์ชัน
ฉันหมายถึงว่าเมื่อเราสร้างฟังก์ชันและสมมติว่าเราสร้างผลรวมเป็นบางส่วนหรือสมมุติว่าบางฟังก์ชัน
และเราสร้างผลรวมภายในฟังก์ชัน
ถ้าฉันพิมพ์ทั้งหมดที่นี่และฉันคลิกเรียกใช้
ฉันได้รับสิ่งเดียวกัน
ไม่ได้กำหนดชื่อทั้งหมด
นี่เป็นเพราะขอบเขตฟังก์ชันของ Python
ทุกครั้งที่เราสร้างตัวแปรหากไม่ได้อยู่ภายในฟังก์ชัน
แล้วเป็นส่วนหนึ่งของขอบเขตสากล
เราสามารถเข้าถึงมันได้
แต่คุณจะเห็นว่าตรงนี้ เราได้ขีดเส้นใต้สีแดง ไม่ได้ระบุชื่อทั้งหมด
สมมุติว่า ผมมีเงื่อนไข ถ้าเป็นจริง
จากนั้น X เท่ากับสิบ
ถ้าฉันทำเช่นนี้และฉันบอกว่า X และฉันคลิกเรียกใช้
ฉันมีสิบเพราะ
แม้ว่าฉันจะมีรอยเยื้อง
ครั้งเดียวที่ฉันสร้างขอบเขตใหม่
คุณสามารถคิดว่านี่เป็นจักรวาลใหม่ที่เราวางไข่
เราทำได้ก็ต่อเมื่อเรากำหนดฟังก์ชันแบบนี้
ลองนึกถึงขอบเขตเป็นโลกใหม่ที่เราสร้างขึ้น
ในกรณีของเรา เมื่อเราสร้างฟังก์ชัน เราสร้างโลกใหม่ที่ทุกสิ่งที่เยื้องอยู่ภายในฟังก์ชันคือโลกของตัวเองที่เราไม่สามารถเข้าถึงได้จริงๆ
ใช้ผลรวมได้ก็ต่อเมื่อเราเยื้องการพิมพ์
และเป็นส่วนหนึ่งของโลกนี้
นั่นคือสิ่งที่เป็นขอบเขต
ใครเข้าถึงใครได้บ้าง?
เรามาพักที่นี่กัน
และฉันต้องการเล่นเกมเล็กๆ น้อยๆ ในวิดีโอหน้า ซึ่งเราพยายามค้นหาว่าใครสามารถเข้าถึงใครได้บ้าง
เจอกันในนั้นครับ
ลาก่อน.