Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตัวแปรสาธารณะและส่วนตัวในคลาส Python คืออะไร


ตัวแปรสาธารณะ

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"