色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python 的私有變量

林子帆1年前10瀏覽0評論

Python是一種動態類型語言,它支持許多編程范式來編寫清晰、簡單的代碼,并提供了許多實用的特性。其中之一就是私有變量。

class Person:
def __init__(self, name, age):
self.__name = name # 私有變量
self.age = age
def introduce(self):
print(f"Hello, my name is {self.__name}. I'm {self.age} years old.")
p1 = Person("Tom", 25)
p1.introduce()
# 輸出:Hello, my name is Tom. I'm 25 years old.
print(p1.age) # 輸出:25
print(p1.__name) # 報錯:'Person' object has no attribute '__name'

在上面的代碼中,我們使用下劃線“__”將變量標記為私有。這意味著該變量只能在類中使用,不能在類外部直接訪問。當我們嘗試訪問它時,Python會報錯。

使用私有變量的好處在于,它可以確保類的數據被完全封裝起來,防止外部代碼誤操作或不小心修改變量。另外,當我們需要將私有變量暴露在外部時,可以使用getters和setters函數來實現。

class Person:
def __init__(self, name, age):
self.__name = name
self.age = age
def getName(self):
return self.__name
def setName(self, name):
self.__name = name
def introduce(self):
print(f"Hello, my name is {self.__name}. I'm {self.age} years old.")
p1 = Person("Tom", 25)
p1.introduce()
# 輸出:Hello, my name is Tom. I'm 25 years old.
print(p1.getName()) # 輸出:Tom
p1.setName("Jerry")
print(p1.getName()) # 輸出:Jerry

在上面的代碼中,我們添加了兩個getters和setters函數來獲取和更改私有變量__name。使用這種方式,我們可以在保持變量私有性的同時,允許外部代碼訪問它。