ยินดีต้อนรับกลับ.
ในวิดีโอที่แล้ว เราเห็นว่าเราทำ boo boo ใหญ่
นั่นคือเราเขียนชื่อและพูดไปแล้ว
และตอนนี้การทำงานหนักทั้งหมดที่เราใส่ในชั้นเรียนของเราได้ถูกแทนที่ด้วยสิ่งนี้
ฉันหมายถึง แน่นอน ถ้าเรายกตัวอย่างวัตถุใหม่
เราจะวิ่งและพูด แต่ตอนนี้ผู้เล่นคนหนึ่งไม่มีประโยชน์อย่างสมบูรณ์
มันไม่มีชื่อและพูด
มันบอกแค่ว่าบู
เปล่าประโยชน์โดยสิ้นเชิง
ใน Python มีแนวคิดเกี่ยวกับสาธารณะและส่วนตัว และสิ่งนี้เกี่ยวข้องกับการอภิปรายเรื่องนามธรรมของเรา
แนวคิดเบื้องหลังสิ่งที่เป็นนามธรรมคือการที่เราซ่อนข้อมูลและให้การเข้าถึงเฉพาะสิ่งที่ผู้ใช้กังวลเท่านั้น
ถูกต้อง.
ตามหลักการแล้ว เราไม่ควรเข้าถึง init
ตามหลักการแล้ว เราไม่สามารถ สมมติว่าแก้ไข เรียกใช้หรือแก้ไขชื่อและ h เพราะเมื่อเราสร้างตัวละครผู้เล่นในเกมของเรา
หวังว่าผู้เล่นจะสุ่มเปลี่ยนชื่อหรืออายุของพวกเขาได้
และแอบเข้าไปในเกมของเราที่อาจมีอายุเพียง 18 ปีขึ้นไป
เราสามารถสร้างตัวแปรส่วนตัวในชั้นเรียนของเราได้หรือไม่?
นี่คือสิ่งที่
บางภาษาทำให้เรามีตัวแปรส่วนตัวได้ เช่น ในภาษาเช่น Java
ที่จริงฉันสามารถพูดได้ว่าแอตทริบิวต์เป็นแบบส่วนตัวและฉันจะไม่สามารถเข้าถึงและแก้ไขได้เหมือนที่ฉันมีวิธีนี้
แต่ใน Python ไม่มีความเป็นส่วนตัวอย่างแท้จริง ไม่มีตัวแปรส่วนตัวที่แท้จริง
แล้วเราจะหลีกเลี่ยงสิ่งนี้ได้อย่างไร?
สิ่งที่เราจะทำคือขีดเส้นใต้ชื่อหรือขีดเส้นใต้ H.
ตอนนี้.
สิ่งนี้ให้พลังพิเศษหรือไม่?
ไม่ นี่เป็นเพียงข้อตกลงที่เหมือนกับโปรแกรมเมอร์ เช่นเดียวกับโปรแกรมเมอร์ Python
เรากำหนดว่า ถ้าเราเห็นขีดล่างในโค้ดของเรา นั่นน่าจะหมายความว่านี่ควรเป็นตัวแปรส่วนตัว
เพื่อว่าเมื่อผมใช้พูด สมมุติว่า underscore name, underscore H.
และขอแสดงความคิดเห็นนี้
ถ้าฉันคลิกเรียกใช้
ฉันต้องรันสิ่งนี้เพราะตอนนี้มันเป็นวิธีการ
คลิกเรียกใช้
และฉันได้ชื่อของฉันคืออังเดร และฉันอายุ 100 ปี
มันใช้งานได้ทั้งหมด
แต่ถ้าฉันพยายามเขียนทับสิ่งเหล่านี้แล้วคลิกเรียกใช้
โอ้ และตอนนี้เนื่องจากไม่ใช่วิธีการอีกต่อไป ให้ลบคำพูดแล้วคลิกเรียกใช้
นี้ยังคงทำงาน
และนั่นเป็นเพราะอย่างที่ฉันพูดไป ไม่มีตัวแปรส่วนตัวที่แท้จริง
ในฐานะโปรแกรมเมอร์ เราได้ตัดสินใจว่าขีดล่างหมายความว่าคุณไม่ควรแตะต้องสิ่งนี้
กรุณาอย่าแตะต้องสิ่งนี้
คุณยังเลวและทำอะไรแบบนี้ได้
แต่ฉันแจ้งให้คุณทราบล่วงหน้าหากคุณขีดเส้นใต้สิ่งนี้ไม่ควรแก้ไข สิ่งนี้ควรเป็นส่วนตัว
และนั่นคือวิธีที่เราบรรลุความเป็นส่วนตัวใน Python
เราทุกคนตกลงกันว่า เฮ้ ให้เรื่องเล็กน้อยนี้เป็นส่วนตัว
ดังนั้น หากคุณต้องการเก็บเมธอดหรือแอททริบิวต์ไว้เป็นส่วนตัว คุณก็แค่ใส่ขีดล่างไว้ข้างหน้า
แต่ก็ไม่รับประกัน
แล้ว init ขีดล่างคู่นี้ล่ะ?
อีกครั้ง นี่คือสิ่งที่เรากำลังจะพูดถึงในเร็วๆ นี้ แต่มันเรียกว่าวิธีโง่เขลา
นั่นคือมันถูกสร้างขึ้นใน Python
และเรามักจะไม่เขียนวิธีดันเดอร์ของเราเอง
เราจะไม่เขียนขีดล่างคู่
เขียนสิ่งนี้
ขีดล่างคู่เหล่านี้และมีหลายอันที่มีความหมายพิเศษใน Python
และสาเหตุที่ตั้งชื่อแบบนี้ก็เพราะพวกเขาพูดว่า เฮ้ ถ้าคุณเขียนขีดล่างคู่สำหรับตัวแปรของคุณ
แสดงว่าคุณกำลังทำอะไรผิดอย่างมหันต์
คุณกำลังจะเขียนทับบางสิ่ง
อีกครั้งหนึ่ง ขีดล่างคู่นี้ยังเป็นแบบแผนเพื่อให้ผู้คนรู้ว่าคุณไม่ควรแตะต้องสิ่งนี้จริงๆ
หรือแก้ไขสิ่งนี้กับข้อมูลแต่ละประเภท
สมมติว่ารายการ
ถ้าฉันทำจุด คุณจะเห็นว่าเมื่อคุณเลื่อนลง
คุณมีวิธีโง่เขลามากมาย
อีกครั้ง บางอย่างที่เราจะพูดถึง แต่สิ่งเหล่านี้มีไว้เพื่อแจ้งให้คุณทราบ
อย่าเขียนทับสิ่งเหล่านี้หากคุณกำลังทำบางอย่างเช่นขีดล่าง
ขีดเส้นใต้ ไม่รู้สิ หมอแบบนี้
เลวร้าย.
อย่าพยายามแก้ไขและกำหนดให้ห้า
ดังนั้นแนวคิดเรื่องพื้นที่ส่วนตัวจึงมีความสำคัญต่อ Python
และถึงแม้ว่าเราจะเขียนทับได้หลายอย่าง แต่ก็เป็นแนวปฏิบัติที่ไม่ดี
แต่ขอนำมันกลับไปที่นามธรรม
แนวคิดคือการทำให้โค้ดนี้เป็นนามธรรม และถึงแม้ว่ามันจะสามารถแก้ไขและแทนที่ได้โดยใช้ข้อตกลงที่เหมาะสมเหล่านี้
เช่น คุณลักษณะส่วนตัว เราสามารถแยกสิ่งที่เป็นนามธรรมออกไปได้ แต่ก็ยังต้องแน่ใจว่าสิ่งที่ผู้ใช้กำลังใช้อยู่จะไม่เกิดขึ้น
เพื่อทำลายรหัสของเรา
เจอกันใหม่ตอนหน้าค่ะ
ลาก่อน.