ตัวแปรสาธารณะ
Python ไม่ได้จำกัดเราจากการเข้าถึงตัวแปรใดๆ หรือเรียกวิธีการของสมาชิกในโปรแกรม python
ตัวแปรและเมธอดของ python ทั้งหมดเป็นแบบสาธารณะโดยค่าเริ่มต้นใน Python ดังนั้นเมื่อเราต้องการทำให้ตัวแปรหรือวิธีการใด ๆ เป็นแบบสาธารณะ เราไม่ทำอะไรเลย ให้เราดูตัวอย่างด้านล่าง −
ตัวอย่าง
class Mug: def __init__(self): self.color = None self.content = None def fill(self, beverage): self.content = beverage def empty(self): self.content = None brownMug = Mug() brownMug.color = "brown" print brownMug.empty() print brownMug.fill('tea') print brownMug.color print brownMug.content
ตัวแปรและวิธีการทั้งหมดในโค้ดจะเป็นแบบสาธารณะโดยค่าเริ่มต้น
เมื่อเราประกาศว่าสมาชิกข้อมูลของเราเป็นแบบส่วนตัว เราหมายความว่าไม่มีใครสามารถเข้าถึงได้จากภายนอกชั้นเรียน ที่นี่ Python รองรับเทคนิคที่เรียกว่า name mangling คุณลักษณะนี้เปลี่ยนทุกชื่อสมาชิกที่นำหน้าด้วยขีดล่างอย่างน้อยสองขีดและต่อท้ายด้วยขีดล่างอย่างน้อยหนึ่งรายการเป็น _
ตัวอย่าง
class Cup: def __init__(self, color): self.__content = None # private variable def fill(self, beverage): self.__content = beverage def empty(self): self.__content = None
ถ้วยของเราสามารถเติมและเทโดยใช้วิธี fill() และ empty() เท่านั้น โปรดทราบว่าหากคุณพยายามเข้าถึง __content จากภายนอก คุณจะได้รับข้อผิดพลาด แต่คุณยังสามารถสะดุดกับสิ่งนี้ได้ –
redCup = Cup("red") redCup._Cup__content = "tea"