var*_*esa 8 python python-import
我知道这import *很糟糕,但是当我觉得懒得键入或记住进口时,我有时会用它来快速进行原型设计
我正在尝试以下代码:
from OpenGL.GL import *
shaders.doSomething()
Run Code Online (Sandbox Code Playgroud)
它会导致错误:`NameError:全局名称'着色器'未定义'
如果我更改导入:
from OpenGL.GL import *
from OpenGL.GL import shaders
shaders.doSomething()
Run Code Online (Sandbox Code Playgroud)
错误消失了.为什么不*包括shaders?
shaders是一个子模块,而不是一个函数。
该语法from module import something不导入子模块(正如另一个答案所述,未在 中定义__all__)。
要获取该模块,您必须专门导入它:
from OpenGL.GL import shaders
Run Code Online (Sandbox Code Playgroud)
或者,如果您只想拥有以下几个功能shaders:
from OpenGL.Gl.shaders import function1, function2, function3
Run Code Online (Sandbox Code Playgroud)
如果你想拥有 的所有功能shaders,请使用:
from OpenGL.Gl.shaders import *
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
9840 次 |
| 最近记录: |