私有方法与私有字段

class Province(object):   #object表示续承属性,默认变为只读,加装饰器后是可写
memo = "中国的23个省之一"
def __init__(self,name,capital,leader,flag):
self.name = name
self.capital = capital
self.leader = leader
self.__Thailand = flag #加了__,这是私有字段,仅自己使用,也是为了安全(别人最多只能看,不能改)
def sports_meet(self):
@staticmethod
def Foo():
print ("this is Foo,in sports_meet!")
@property ##特性。有只读与可写二种,以下是只读。
def Bar(self):
return self.__Thailand
#以下是可写(装饰器加.setter,这是修改私有字段的方法):
@Bar.setter
def Bar(self,value):
self.__Thailand = value
#以下是从内部可访问到私有字段:
def show(self):
print (self.__Thailand)
#以下是私有方法:
def __sha(self):
print ("我是私有方法")
def Foo2(self):
self.__sha()
print ("(从外部通过调用内部的函数访问私有方法)")
def thailand(self):
print (self.__Thailand)
print ("从外部通过调用内部的函数访问私有字段")


japan = Province("日本","济南","小王","访问私有字段")
#print (japan.__thailand) ,直接访问不到内部的私有字段
japan.show() #间接可访问到内部的私有字段
#japan.__sha() #从外部访问不到对象内部的私有方法
japan.Foo2() ##从外部通过调用内部的函数访问私有方法
japan.thailand()
##japan.__Province.__sha() ##从外部直接访问内部的么私有方法

japan.Bar = "更改访问私有字段" ##修改私有字段的方法
japan.thailand()

转载于:https://www.cnblogs.com/liulvzhong/p/7609764.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值