zoukankan      html  css  js  c++  java
  • 补充知识点:1动态导入模块,2断言

     
    '''
    动态导入模块:知道模块的字符串形式,导入该模块
    有两种形式
    一、是解释器加载的时候的方式,不建议用
    二、官方建议使用
    ========目录结构======
    -this_module.py
    -lib
      -aa.py (name='alex')
    ======================
    三、第三种方式,会报错,
    但是from permission_pro import urls能成功
    执行的时候会执行permission_pro下面的__init__.py文件
    django访问程序必须通过浏览器,而不是单个py文件。Django运行时会放入环境变量一些信息
    '''
    # 第一种方式
    lib = __import__("lib.aa")   #实际上是导入的lib
    aa = lib.aa
    print(aa.m)   # alex
    
    # 第二种方式
    import importlib
    aa = importlib.import_module("lib.aa") #直接导入的就是aa
    print(aa.name)  # alex
    
    # 第三种方式
    from django.utils.module_loading import import_string
    md = import_string('permission_pro.urls')
    '''
    断言:例如下面的,断定obj的类型为str,断定为真则执行后面的代码,否则抛异常
    作用:
    接下来的程序执行依赖前面的,而且后面的程序执行很重要,可以在前面的检查工作进行断言。
    例如转账之前要确认账户等信息,确认过程可以用断言处理
    '''
    obj = "alex"
    assert type(obj) is str
    print("pass")
  • 相关阅读:
    状态模式
    迭代器模式和组合模式
    模板方法模式
    适配器模式和外观模式
    principle06
    principle05
    命令模式
    单例模式
    工厂模式
    day38(表相关内容)
  • 原文地址:https://www.cnblogs.com/staff/p/9638256.html
Copyright © 2011-2022 走看看