python私有函数实现_python 之简单聊聊私有方法和私有字段

# -*- 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值