ตัวแปรสาธารณะ
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"