类的私有属性 和 私有方法,都不能通过对象直接访问,但是可以在本类内部访问,不会被子类继承,子类也无法访问;
私有属性 和 私有方法 往往用来处理类的内部事情,不通过对象处理,起到安全作用。

调用私有属性和私有方法:
都需要重新写一个实例化的方法,内部return对应的私有属性和方法,然后通过类对象进行调用.

1). 私有属性,可以在类内部通过self调用,但不能通过对象访问
2). 私有方法,可以在类内部通过self调用,但不能通过对象访问
3). 对象不能访问私有权限的属性和方法
4). 子类不能继承父类私有权限的属性和方法
5). Python中没有像C++中 public 和 private, protected 这些关键字来区别公有属性和私有属性。
6). Python是以属性命名方式来区分,如果在属性和方法名前面加了2个下划线’__’,则表明该属性和方法是私有权限,否则为公有权限。

修改私有属性的值 :

python 属性方法类 python属性和方法的区别_python 属性方法类


get_xxx()方法–>返回私有属性的值(参数)

set_xxx()方法–>接收参数,修改私有属性的值(参数)

对象不能访问私有权限的属性和方法,可以通过访问公有方法set_money()来修改私有属性的值,可以通过访问公有方法get_money()来获取私有属性的值

公有的类属性,可以通过类或者实例对象访问
实例属性只能通过对象来调用,类不能调用

类方法和静态方法能够通过实例对象和类对象去访问。
实例方法中需要self参数,因此调用实例方法只能通过实例对象调用
也可以通过类调用但是一般不这样用

类方法使用@classmethod装饰,第一个参数为类(cls),调用时可以通过类的实例或者类本身来调用。
实例方法定义时第一个参数为类的一个实例(self),调用时必须通过实例调用。
静态方法使用@staticmethod装饰,调用时可以使用类的实例或者类本身来调用。

单例模式:

python 属性方法类 python属性和方法的区别_python_02