首页 > 编程语言 > 详细

python 之简单聊聊私有方法和私有字段

时间:2016-11-18 19:22:07      阅读:162      评论:0      收藏:0      [点我收藏+]
# -*- 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


本文出自 “FA&IT运维-Q群:223843163” 博客,请务必保留此出处http://freshair.blog.51cto.com/8272891/1874224

python 之简单聊聊私有方法和私有字段

原文:http://freshair.blog.51cto.com/8272891/1874224

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!