getter(访问器)和setter(修改器)用法

getter可以用于访问对象中的私有属性。

setter可以用于修改对象中的私有属性。具体操作看如下代码

#!usr/bin/env python
#-*- coding:utf-8 -*-
"""
@author:doulihang
@file: test.py
@time: 2019/07/09
"""
class Person(object):

    def __init__(self, name, age):
        self.__name = name
        self.__age = age

    # 访问器 - getter方法,用于访问私有属性self.__name
    # @property
    def name(self):
        return self.__name

    # 访问器 - getter方法,用于访问私有属性self.__age
    @property
    def age(self):
        return self.__age

    # 修改器 - setter方法,用于修改私有属性self.__age
    @age.setter
    def age(self, age):
        self.__age = age

    def play(self):
        if self._age <= 10:
            print('%s正在玩五子棋.' % self.__name)
        else:
            print('%s正在玩英雄联盟.' % self.__name)


def main():
    #对象实例化
    person = Person('野草', 8)
    #访问私有属性self.__name
    print(person.name())
    #输出私有属性self.__age修改前的结果
    person.play()
    #修改私有属性self.__age
    person.age = 22
    # 输出私有属性self.__age修改后的结果
    person.play()

 

 

你可能感兴趣的:(Python)