''' 动态导入模块:知道模块的字符串形式,导入该模块 有两种形式 一、是解释器加载的时候的方式,不建议用 二、官方建议使用 ========目录结构====== -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")