




















“_”单下划线开头的变量:_var ,表示这些函数和变量是元素私有的或内部使用的,为非强制性(实际可修改也可引用)。
"__"双下划线开头的变量:__var,表示这些函数和变量是元素私有的或内部使用的,为强制性,对象外不可修改或引用。
class People():
def __init__(self,name,age):
self._name = name
self._age = age
peo = People("aa",22)
print(peo.__dict__)
print(peo._name)
print(peo._age)

双下划线例子
class People():
def __init__(self,name,age):
self.__name = name
self.__age = age
peo = People("aa",22)
print(peo.__dict__)
print(peo.__name)
print(peo.__age)

class People():
def __init__(self,name,age):
self.__name = name
self.__age = age
def get_name(self):
return self.__name
def set_name(self,name):
self.__name = name
peo = People("aa",22)
print(peo.__dict__)
print(peo.get_name())
peo.set_name("bb")
print(peo.get_name())

class People():
def __init__(self,name,age):
self.__name = name
self.__age = age
# 通过该装饰器修饰后,该函数可以像变量一样使用
@property
def name(self):
print("通过函数获取变量")
return self.__name
# 通过该装饰器修饰后,该函数可以像变量一样使用
@name.setter
def name(self,name):
if self.__name == name:
raise Exception("不能和原来的名字相同")
else:
self.__name = name
peo = People("aa",22)
print(peo.__dict__)
print(peo.name)
peo.name = "aa"
print(peo.name)

此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。