‫ยินดีต้อนรับกลับ.
‫ลองตอบคำถามที่คุณอาจมี
‫ตัวอย่างเช่น สิ่งที่เกี่ยวกับพารามิเตอร์?
‫ถ้าฉันทำพารามิเตอร์?
‫สมมุติว่าบีตรงนี้
‫พารามิเตอร์นี้คืออะไรเมื่อฉันใช้ B แบบนี้
‫สมมุติว่าพิมพ์
‫เป็น.
‫และในนี้ฉันจะสับสนกับตัวเลข 300
‫ถ้าฉันเรียกใช้สิ่งนี้
‫นี้ทำงาน
‫และนั่นเป็นเพราะว่า B พารามิเตอร์เป็นส่วนหนึ่งของขอบเขตท้องถิ่น
‫นั่นคือมันเป็นส่วนหนึ่งของสิ่งนี้
‫ดังนั้นพารามิเตอร์จึงถือเป็นตัวแปรท้องถิ่น
‫เราสามารถใช้ภายในฟังก์ชันได้ แต่ไม่สามารถใช้ภายนอกฟังก์ชันเหล่านั้นได้
‫ในทางเทคนิคเมื่อเรากำหนดฟังก์ชัน เราให้ล่ามรู้ว่า เฮ้ B จะเป็นตัวแปรท้องถิ่น
‫OC แล้วเรื่องนี้ล่ะ?
‫ถ้าเรามีสิ่งนี้ล่ะ?
‫A แต่ฉันต้องการให้แน่ใจว่าภายในฟังก์ชันของฉัน ฉันกำลังอ้างถึงโกลบอล A
‫มีวิธีที่เราจะเพียงแค่ใช้ค่านี้โดยไม่ต้องสร้างตัวแปรใหม่หรือไม่?
‫ลองใช้ตัวอย่างที่ดีกว่านี้
‫สมมติว่าฉันต้องการสร้างเคาน์เตอร์
‫เราจะได้ผลรวมเท่ากับศูนย์
‫แล้วในนี้.
‫ฉันจะบอกว่ากำหนดจำนวน
‫และฟังก์ชันนี้จะบอกว่าผลรวม
‫บวกเท่ากับหนึ่ง
‫ดังนั้นเราจะบวกทุกครั้งเมื่อเราบวกจำนวนเข้าไป มันจะเพิ่มขึ้นทีละศูนย์แล้วทีละตัว
‫ไปเรื่อยๆ
‫เราจะคืนยอดรวมเมื่อสิ้นสุดสิ่งนี้
‫ดังนั้นถ้าฉันทำงานที่นี่ จำนวนการพิมพ์
‫มาดูกันว่าจะเกิดอะไรขึ้น
‫ฉันกำลังจะไปตี
‫วิ่ง.
‫และฉันได้รับข้อผิดพลาดผลรวมของตัวแปรท้องถิ่นที่อ้างอิงก่อนการมอบหมายและนั่นเป็นเพราะการนับจำนวนนั้นไม่ทราบเกี่ยวกับผลรวม
‫คุณกำลังพยายามใช้ยอดรวม แต่เรายังไม่ได้กำหนดอะไรเลย
‫แต่เราต้องการให้ผลรวมจากโลกภายนอกดำเนินไป
‫เพราะถ้าฉันทำยอดรวมเท่ากับศูนย์ตรงนี้แล้วฉันก็นับ
‫ที่ที่ดี
‫ฉันได้รับหนึ่ง
‫แต่ถ้าฉันต้องการนับหลายครั้งล่ะ
‫จะเป็นอย่างไรถ้าฉันต้องการนับ สมมติว่าสามครั้งเพื่อให้การนับรวมเป็นสาม
‫เลยลองพิมพ์อันสุดท้ายที่นี่
‫และฉันคลิกเรียกใช้
‫ฉันยังคงได้รับเพราะทุกครั้งที่เราเรียกใช้ฟังก์ชัน เราจะรีเซ็ตผลรวมเป็นศูนย์
‫มันไม่ค่อยมีประโยชน์เลยใช่ไหม?
‫วิธีหนึ่งที่เราสามารถแก้ไขได้คือการใช้สิ่งที่เราเรียกว่าโกลบอลคีย์เวิร์ดใน Python
‫และ global บอกว่าใช้ global total ถ้ามันอยู่ในนี้ เพื่อที่แทนที่จะต้องสร้างตัวแปรใหม่
‫ผมสามารถใช้ตัวแปร global total ได้
‫ลองดู.
‫ฉันได้รับไวยากรณ์ที่ไม่ถูกต้อง และนั่นเป็นเพราะว่าก่อนอื่นเราต้องบอกว่ายอดรวมทั้งหมดจะถูกใช้ในที่นี่
‫จากนั้นเราสามารถพูดได้ว่าผลรวมบวกเท่ากับหนึ่ง
‫ถ้าฉันเรียกใช้สิ่งนี้
‫รูปลักษณ์ของสิ่งนั้น
‫เรามีตัวนับที่เหมาะสม ดังนั้น global จึงเป็นวิธีที่เราเข้าถึงตัวแปรส่วนกลางนี้
‫อย่างไรก็ตาม ฉันขอยืนยันว่านี่ไม่ใช่วิธีที่ดีในการทำสิ่งต่าง ๆ เพราะมันอาจทำให้สับสนได้เมื่อคุณเริ่มเพิ่ม
‫globals และจักรวาลที่แตกต่างกันทั้งหมดเหล่านี้กำลังเข้าถึงตัวแปรของกันและกัน
‫วิธีที่ดีกว่าในการทำเช่นนี้คือสิ่งที่เรียกว่าการแทรกการพึ่งพา และนี่เป็นเวอร์ชันที่เรียบง่าย
‫แต่แนวคิดก็คือแทนที่จะเข้าถึงตัวแปรนอกฟังก์ชันเช่นนี้ ซึ่งอาจซับซ้อน
‫ซับซ้อนจริง ๆ เมื่อไฟล์ใหญ่ขึ้นเรื่อยๆ ก็คือทำแทน
‫นี้.
‫ทั้งหมด.
‫เช่นนี้ เราสร้างพารามิเตอร์แล้วส่งผ่านพารามิเตอร์นั้น
‫หรือข้อโต้แย้งในนี้
‫แต่อย่างที่คุณเห็น มันยังคงเป็นอันเดียว เพราะเมื่อเราพิมพ์ยอดรวมครั้งที่สาม นี่ก็ไม่เคยเปลี่ยนแปลง
‫นี่คือศูนย์ทั่วโลก
‫ดังนั้นเราจึงสามารถทำสิ่งนี้แทนได้
‫เราสามารถพูดนับรวม ซึ่งเราจะนับอีกครั้ง
‫แล้วนับใหม่อีกครั้ง
‫ถ้าฉันเรียกใช้สิ่งนี้
‫ฉันได้รับสาม
‫และฉันรู้ว่าคุณกำลังคิดอะไรอยู่
‫นี้เป็นบ้าอย่างสมบูรณ์
‫มันดูสับสน
‫ดูวงเล็บเหล่านี้ทั้งหมด
‫แต่ให้ฉันแสดงให้คุณเห็นว่าเราได้ทำอะไรไปแล้วบ้าง
‫เราสามารถแยกการพึ่งพาหรือผลกระทบที่ฟังก์ชันการนับนี้มีต่อขอบเขตภายนอกภายนอกและมุ่งเน้นไปที่ความสมบูรณ์แทน
‫ทั้งหมดที่เราต้องทำคือพูดว่า เฮ้ ฉันต้องการให้คุณนับรวมเป็นศูนย์
‫แล้วหลังจากนั้น นี่จะประเมินเป็นหนึ่ง
‫แล้วเรานับรวมของหนึ่งบวกหนึ่งจะเท่ากับสอง แล้วนับสองบวกหนึ่งจะเท่ากับสาม
‫และด้วยวิธีนี้ เรายังคงนับได้โดยไม่ต้องใช้คำหลักสากลนั้น ซึ่งฉันขอยืนยันว่าดีกว่า
‫โปรดทราบว่าหากนี่เป็นครั้งแรกที่คุณได้เห็นสิ่งนี้ มันอาจจะยุ่งยากเล็กน้อย
‫แต่อย่างน้อยด้วยวิธีนี้ คุณจะรู้ว่ามีวิธีการทำสิ่งต่างๆ ที่แตกต่างกัน
‫อีกคำหนึ่งที่ฉันต้องการแสดงให้คุณเห็นคือสิ่งที่เรียกว่าไม่ใช่ท้องถิ่น
‫แต่สำหรับเรื่องนั้น พักก่อน แล้วเจอกันใหม่ในวิดีโอหน้า