2018-07-15的简书

2018-07-15  本文已影响0人  吴某人_0ad9

第二个月面向对象

代码块

 class Dou():
  def __init__():#初始化属性
  def __str__():#格式化输出,要有返回值
  def __del__():#删除对象时执行
  def __new__():#创建对象时使用

... prompt'''

上面是面向对象是常用的四种魔法方法,如果出现多个类 当子类需要父类的属性时,可继承。

* Python中没有像C++中public和private这些关键字来区别公有属性和私有属性
* 它是以属性命名方式来区分,如果在属性名前面加了2个下划线’__’,则表明该属性是私有属性,否则为公有属性(方法也是一样,方法名前面加了2个下划线的话表示该方法是私有的,否则为公有的)。

从类方法和实例方法以及静态方法的定义形式就可以看出来,类方法的第一个参数是类对象cls,那么通过cls引用的必定是类对象的属性和方法;而实例方法的第一个参数是实例对象self,那么通过self引用的可能是类属性、也有可能是实例属性(这个需要具体分析),不过在存在相同名称的类属性和实例属性的情况下,实例属性优先级更高。静态方法中不需要额外定义参数,因此在静态方法中引用类属性的话,必须通过类对象来引用

上一篇 下一篇

猜你喜欢

热点阅读