Fork me on GitHub

python中import和from-import的区别

. import导入模块的路径两种方式

# 将模块所在路径再程序中添加到sys.path列表中
    import sys
    sys.path
        import导入模块按照sys.path顺序依次查找,“”代表当前路径

# 修改操作系统的PYTHON_PATH环境变量
    # 系统的环境变量
    export PYTHON_PATH=$PYTHON_PATH:新的路径

. import 模块名 和 from 模块名 import * 是不同的;

复制代码
1. 调用模块属性的区别
import 模块名 模块名.xxx = 引用 from 模块名 import * xxx = 拷贝 # 能修改属性值   函数,类... : "import 模块名""from 模块名 import *" 都是引用
2. 私有属性两种导入的区别
    # . 类中的私有属性
    # 本质做了一个名字重整

    class test()

      self.__name

    __name 名字重整成 _test__name
    _littlethree : 模块的私有属性(数据)

    from 模块 import * : 导入模块时,会跳过私有属性;

    import 模块 : 通过引用可以访问私有属性
复制代码

 

.   重新导入模块的方法

复制代码
import a
import a

# 注意:import多次,只有第一次会执行;
# 或者重启程序

   
"""reload()方法能重新导入模块"""
from imp import reload
reload(模块名)
复制代码

 

import和from-import的显著区别

  • from A import B在导入过程中 创建模块对象 将模块对象的引用保存在本地作用域, 也就是说当前作用域有一个名字叫B的对象,locals()可以查看; import A 在导入模块的过程 创建模块对象 将模块对象的引用保存在本地
  •  

     

posted @   AnimalRabbit  阅读(50069)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
点击右上角即可分享
微信分享提示