美文网首页
Python中的私有属性

Python中的私有属性

作者: 小雨Coding | 来源:发表于2021-01-05 11:36 被阅读0次

一、什么是私有属性

Python中一个类主要由静态特征和动态特征构成。
静态特征的标准称呼为:字段(实例、类)
动态特征的标准称呼为:方法(实例方法、类方法、静态方法)
对于某些字段,如果在其它类中可以对其直接访问和修改,会对其程序带来很大的隐患。为了保护某些字段不能随便更改,我们将其设置为私有字段,只有在类中才可以访问。
定义私有字段时,在变量名前加上两个下划线__变量名
为了读取私有字段我们可以定义字段同名方法,并添加装饰器@property,这样在外部类中可以像类的普通字段一样读取。
为了修改私有字段我们可以定义字段的同名方法,传入参数为待修改的值。装饰器为@方法名.setter

class Person:
    def __init__(self,name,age):
        self.name = name
        self.__age = age
    def say_hello(self):
        print("我的名字叫%s,今年%s岁了"%(self.name,self.__age))
    # 读取属性
    @property
    def age(self):
        return self.__age
    # 修改属性
    @age.setter
    def age(self,number):
        self.__age = number
if __name__ == '__main__':
    alice = Person("xiaoyu","23")
    alice.say_hello()
    alice.age = 12
    print(alice.age)

二、私有属性能继承吗

私有属性是不能继承的,只能在类的内部调用。子类是无法调用父类的私有属性的。·

相关文章

  • day014 笔记 08-01

    内置类的属性 python中每个类都拥有内置的类属性。 私有化 python中类中的属性和方法的私有化:直接在属性...

  • day13面向对象(1)

    01-内置类属性 内置类属性:python中每个类都拥有内置的类属性 02私有化 python中,类和属性的私有化...

  • python 私有属性

    私有属性 python 中类里面定义的变量叫做类属性,类属性有两种公有属性和私有属性 属性的定义: 私有: 以单下...

  • day15_python_类和对象

    属性的私有化 python中并没有真正的私有化!python 的类中默认的属性和方法都是公开的 1.私有化a.类中...

  • Python私有属性(private attributes)及其

    Python中的私有属性 在面向对象(Object Oriented Design)的情景下,所谓私有属性(pri...

  • 类的私有属性和私有方法

    当定义私有属性后,python将私有属性改了名字为 _类名+私有属性名

  • Python-day-13面向对象2

    一、内置类属性 二、私有化 python中类中的属性和方法的私有化:直接在属性名或者方法名前加' _ _ '(命名...

  • python下划线定义属性

    类的私有变量和私有方法 在Python中可以通过在属性变量名前加上双下划线定义属性为私有属性 特殊变量命名 1、 ...

  • P 面向对象 | 伪私有属性与私有方法(科普)

    一、私有属性与私有方法 Python中,是没有真正意义上的私有的 私有属性与私有方法是对象的隐私,通常用于做一些内...

  • 2018-08-01 python学习—面向对象(私有化)

    python中类中的属性和方法的私有化:直接在属性名或者方法名前加(命名的以''开头) 属性或者方法私有:在外部不...

网友评论

      本文标题:Python中的私有属性

      本文链接:https://www.haomeiwen.com/subject/ltzmsktx.html