import

import module 导入了一个模块

from module import mark 实际上是建立了这个标识符的一个副本

所以,reload(module)会影响import导入的模块,因为它们指向同一个地方,但是不会影响到from语句建立的名字,因为from建立的是副本。

import..., from...import..., reload()都会使导入的模块顺序执行。

import...和from...import...是可执行的语句而不是声明,它们是在执行到这条语句的时候才导入的。所以,也可以在函数或类中使用import...和from...import...,不过这样导入的名字限制在了函数或类本身的名字空间里。

在import...或from...import...中的模块名是一个硬编码的变量名。如果想通过一个字符串导入一个模块,有两种办法:exec和__import__:

exec语句编译一个代码字符串,并传递给python执行:如

name = "string"
exec "import " + name

__import__函数载入参数指定的模块并返回模块对象,用法如下:

name = "string"
string = __import__(name)

reload没有传递性,如果一个模块a中import了b,在我们的代码中,先import了a,因为import时会执行模块a的代码,所以它会导入b。但是我们用reload(a)重新载入a时,并不会自动import b。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值