美文网首页
类和对象的执行顺序,字符串导入包

类和对象的执行顺序,字符串导入包

作者: 两分与桥 | 来源:发表于2018-06-06 21:53 被阅读6次

类中的关系要理清,,,看清类的对象是谁,self是谁,就从谁开始找
python 3 中都是新式类,也就是默认继承object,不管你写不写,
而python2就不同了,写 上object就是新式类,不写就是经典类

继承多个类的时候
类方法的寻找顺序是从左边一直向上找,左边找不到,才到右边去找

class Base(object):  # object可写,可不写
    def __init__(self):
        print("Base init")
    def execute(self):
        print("Base execute")
        self.linux()
    def linux(self):
        print("Base linux")

class son(Base):
    def linux(self):  
        print("son linux")

test = son() 
print("----------------------------")
test.execute() 

# 执行结果:
Base init
----------------------------
Base execute
son linux

分析,结果


test = son() # 类实例化时会执行 类的init 初始化方法,son中没有,就到父类去找
print("----------------------------")
test.execute() # son 中没有 execute 方法,到父类去找
'''
    def execute(self): 执行 父类的 execute 方法,其中的 self == test
        print("Base execute")
        self.linux()  这里执行的是 test.linux() 方法,
                    首先又到 son 类中去寻找,所以执行的是 son 中的 linux 方法
'''

一个更乱的类执行顺序,,

class Bbh:
    def server(self):
        self.sz()
    def sz(self):
        self.xiaowen()
    def process_request(self):
        print('yun')
class Mr(Bbh):
    def xiaowen(self):
        self.process_request()
class Yun(Mr):
    def process_request(self):
        print('yun')
class Zzc(Yun):
    pass
obj = Zzc()
obj.server()

执行顺序::

1.png

导入包

导入 py 文件
from src.plugins import disk
加载文件夹下的 disk.py 文件,加载到内存

导入文件夹(包,模块,类库等)
from src import plugins
加载文件夹下的 init.py 文件,加载到内存

如果 init.py 文件下封装了方法,用 plugins.pack() 运行(名字看你定义的了)

相关文章

  • 类和对象的执行顺序,字符串导入包

    类中的关系要理清,,,看清类的对象是谁,self是谁,就从谁开始找python 3 中都是新式类,也就是默认继承o...

  • java测试

    包导入 testNG 执行的顺序

  • 方法

    load 和 initialize 方法的执行顺序以及类和对象的关系

  • Eclipse For Mac 常用快捷键

    搜索文件 cmd + shift + r 搜索类和对象 cmd + shift + t 导入缺失的包 cmd +...

  • Scala-13.包和导包

    Scala导入成员变量的方法: 随处可使用import 导入类,包或者对象 导入类时隐藏并且重命名它们 Scala...

  • kotlin之基本语法

    函数 变量 字符串模板 类和属性 自定义访问器 目录和包 和java类似,但是kotlin不区分导入的是类还是函数...

  • Kotlin--学习总结

    声明对象 数组和集合 函数 类 构造函数 继承 抽象类 object 接口 导入包 可见修饰符 空安全 for循环...

  • python学习笔记-模块和包

    模块 模块导入方式 as 定义别名 制作模块 模块定位顺序 all 包 制作包 导入包

  • java同名的两个类

    1、自定义两个jar包,其中包含相同包名和类名 与export的导入顺序有关。只会加载第一个,并且运行正常。 2、...

  • python多进程完成多任务

    知识要点 1、导入进程包:import multiprocessing2、创建子进程并指定执行的任务:进程对象 =...

网友评论

      本文标题:类和对象的执行顺序,字符串导入包

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