2322312 发表于 2016-11-21 10:38:35

python 之简单聊聊类的只读和只写特性

# -*- coding: utf-8 -*-
"""
Created on Sun Nov 13 23:19:03 2016

@author: toby
"""
#知识点:只读特性和只写特性

class Province(object): #增加一个object继承新式类
    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 #定义一个私有字段
      

    #只读,不能改
    @property
    def Thailang(self):
      return self.__Thailang #读取私有字段值
   
    #可写,改上面的私有字段,如果只想只读,那么不必写这方法就可以了
    @Thailang.setter #这个装饰器的名称为上面函数的名称
    def Thailang(self, value):
      self.__Thailang = value #修改私有字段的值

   
if __name__ == "__main__":

    #实例化两个对象,对象名分别是:hb、sd
    japan = Province('riben','shjiazhuang','liyang',True) #值True传递给self.__Thailang
    print japan.Thailang #打印私有字段原来的值
    japan.Thailang = False #修改私有字段的值为false
    print japan.Thailang #再次打印出来看看是否修改成功



页: [1]
查看完整版本: python 之简单聊聊类的只读和只写特性