# -*- coding: utf-8 -*- """ Created on Sun Nov 13 23:19:03 2016 @author: toby """ #知识点:私有方法和私有字段 ‘‘‘ 应用场景: 不想被外部访问的东西,或者说不想暴露给外部的时候 那么就可以定义私有方法或私有字段 ‘‘‘ class Province: memo = ‘One of China\‘s 23 provinces‘ #静态字段 def __init__(self,name,capital,leadership,flag): self.Name = name #动态字段 self.Capital = capital #动态字段 self.Leadership = leadership #动态字段 self.__Thailang = flag #定义一个私有字段 #定义一个方法,实现在内部访问私有字段,让外部可以间接的访问这个私有字段 def show(self): print self.__Thailang #也可以通过@property装饰器,构造一个特性实现在内部访问私有字段,让外部可以间接的访问这个私有字段 @property def Thailang(self): return self.__Thailang #定义个私有方法 def __sha(self): print ‘hello world!‘ #定义个公有方法,实现在内部访问私有方法,让外部可以间接的访问到这个私有方法 def Foo2(self): self.__sha() if __name__ == "__main__": #实例化两个对象,对象名分别是:hb、sd japan = Province(‘riben‘,‘shjiazhuang‘,‘liyang‘,True) #值True传递给self.__Thailang #外部尝试访问私有字段提是无法访问的 #print japan.__Thailang #间接的访问私有字段 japan.show() #外部访问私有方法,是无法访问的 #japan.__sha() #访问公有方法,实现间接访问私有方法 japan.Foo2() #访问一下刚才通过@property装饰器构造的方法,看看能不能访问到私有字段,答案是可以的 japan.Thailang
时间: 2024-10-14 17:05:25