import 模块导入
  VlRy1zDaWnkA 2024年04月03日 57 0

★ 方式一:from xx import yy

  • 导入方式

    from info import redis_store
    
  • 使用说明

    【理解】: 相当于在本地定义一个变量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

  • 导入方式

    import info
    
    info.redis_store
    
  • 使用说明

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

★ 方式三:__import__("xx")

  • 导入方式

    __import__("xx")
    
  • 使用说明

    【理解】:返回模块名叫info的模块(模块也是对象)
    

★ 方式四:import_module(module_path)

  • 文件结构

    imp
    │───demo.py
    │
    └───apps
        └───api
            └───urls.py
    
  • 文件内容

    • urls.py

      urlpatterns = []
      app_name = "api"
      
    • demo.py

      # 1. 基础导入模式
      from apps.api import urls
      
      print(urls.urlpatterns, urls.app_name)
      
      # 2. 字符串导入模式
      import importlib
      
      module_path = 'apps.api.urls'
      module = importlib.import_module(module_path)
      print(module.urlpatterns, module.app_name)
      
      """
      执行结果:
      [] api
      [] api
      """
      
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年04月03日 0

暂无评论

推荐阅读
  KmYlqcgEuC3l   6天前   17   0   0 Python
VlRy1zDaWnkA
作者其他文章 更多