由pyinstaller问题产生的python导入问题:from import和import笔记

1.import语句

解释器执行到import语句, 如果在搜索路径中找到了指定的模块, 就会加载它。该过程遵循LEGB作用域原则, 如果在一个模块的顶层导入,那么它的作用域就是全局的; 如果在函数中导入, 那么它的作用域是局部的。 如果模块是被第一次导入, 它将被加载并执行

简单来说,import使一个变量名引用整个模块对象。
例如:
import [module]
[module].XXX = 引用

import [module] as [变量名]

将导入的模块重命名,或者说把模块赋值给一个变量

2.from [module] import [func] 语句

解释器执行到from语句,会将模块中所有变量名复制到另一个作用域。

简单来说,from将一个或多个变量名赋值给另外一个模块中同名的对象
例如:
from [module] import *
XXX = 拷贝

from [module] import导入的变量,如果在当前作用域中恰巧有相同的变量名,那么导入的变量会被作用域变量覆盖掉

注意:pyinstaller无法正确导入还有可能是将多个项目设置为source root,这样会影响模块的导入

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值