zoukankan      html  css  js  c++  java
  • python class(1)

    class Test:
        _parent1 = 'variable parent' #父类成员变量首先被初始化
        print(_parent1)
        _son_son = 'search parent'
        def __init__(self):
            print(self) #实际对应的实例化对象这里为 Test2 的实例
            print('parent')
            print(self._son) #调用子类变量
            print(self._son_son) #从下往上搜索, 子类没有则调用父类
    
        def test(self):
            print('i`m parent test') #同样的根据实际实例来确定被调用方法, 如果子类不存在则去寻找父类
        # 还有要注意的地方,不过python 内置方法也是这样的 例如__init__ 子类如果没有定义则自动
        # 调用父类,如果子类声明,则需要手动进行父类初始化
        # 如果在子类重写一写特殊方法,则需要自己去实现具体的过程,比如__setattr__ 当有属性被添加,这个方法会被自动调用
        # 如果重写则需要实现具体的__dict__ 添加过程,同样的__dict__不会自动管理属性
        # 如果没有将这些方法进行重写,则会调用父类的特殊方法(默认为Object),从而可以实现一些设计模式
    class Test2(Test):
        _son = 'variable son' #类成员首先被初始化
        _son_son = '_son_son'
        print(_son)
    
        def test(self):
            print('i`m son test')
    
    t = Test2()
  • 相关阅读:
    nginx nfs服务
    Linux磁盘分区-rpm-yum
    tar命令-vi编辑器-磁盘分区及格式化-软链接及硬链接文件
    Linux命令-权限
    Linux命令基础
    网络基础
    操作系统
    计算机硬件介绍
    Django之CBV和FBV
    ORM之基本操作增删改查
  • 原文地址:https://www.cnblogs.com/alplf123/p/8979133.html
Copyright © 2011-2022 走看看