import 模块导入

打印 上一主题 下一主题

主题 924|帖子 924|积分 2772

★ 方式一:from xx import yy


  • 导入方式
    1. from info import redis_store
    复制代码
  • 使用说明
    1. 【理解】: 相当于在本地定义一个变量redis_store 指向info模块中redis_store的值,对本地的redis_stone直接进行赋值,只会修改本地变量redis_store的指向,并不会修改info模块中redis_store的值;这里如果info模块中redis_store是可变类型数据(如list()),在本地中通过from info import redis_store导入后直接对其指向的值进行修改(如redis_store.append()),才会修改info模块中redis_store的值
    复制代码
★ 方式二:import xx


  • 导入方式
    1. import info
    2. info.redis_store
    复制代码
  • 使用说明
    1. 【理解】: 使用 import info,相当于在本地定义一个变量info 指向模块info,但是它保持着自已的名字空间,这就是为什么你需要使用模块名来访问它的函数或属性: module.function 的原因
    2. 说明 导包或者导入包内变量,python解释器会将整个文件运行一次
    复制代码
★ 方式三:__import__("xx")


  • 导入方式
    1. __import__("xx")
    复制代码
  • 使用说明
    1. 【理解】:返回模块名叫info的模块(模块也是对象)
    复制代码
★ 方式四:import_module(module_path)


  • 文件结构
    1. imp
    2. │───demo.py
    3. └───apps
    4.     └───api
    5.         └───urls.py
    复制代码
  • 文件内容

    • urls.py
      1. urlpatterns = []
      2. app_name = "api"
      复制代码
    • demo.py
      1. # 1. 基础导入模式
      2. from apps.api import urls
      3. print(urls.urlpatterns, urls.app_name)
      4. # 2. 字符串导入模式
      5. import importlib
      6. module_path = 'apps.api.urls'
      7. module = importlib.import_module(module_path)
      8. print(module.urlpatterns, module.app_name)
      9. """
      10. 执行结果:
      11. [] api
      12. [] api
      13. """
      复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

道家人

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表