.locals import * 和 import local 有什么区别
What is the difference between .locals import * and import local
我正在为 flappy bird 编写代码,我正在看一个关于碰撞的教程,他们使用了:
from pygame.locals import *
他们为什么不直接使用:
from pygame import local
有什么区别,它如何更改代码?它是导入所有该库还是仅导入特定位。正如我所料,您会为此使用 import pygame?
举个例子来理解
我有一个名为 myApp 的目录,里面有 2 个文件
~app.py
~helper.py
在helper.py我的代码是
abc1 = 'hi'
abc2 = 'bye
在app.py我的代码是
from helper import *
print(abc1)
print(abc2)
所以通过使用 from helper import *
我可以从它导入所有变量和函数但是如果我使用 from helper import abc1
它只导入 abc1 值
第一个从 pygame.locals
导入所有内容。然后你可以
访问 pygame.locals
的元素而不用前缀
模块名称。
from pygame.locals import *
print(K_a) # 97 = ascii code of 'a'
第二个从 pygame 导入模块 locals
。你可以
基本上访问相同的东西,但现在你必须使用模块
名称作为前缀。
from pygame import locals
print(K_a) # NameError: name 'K_a' is not defined
print(locals.K_a) # 97 = ascii code of 'a'
第二种形式更可取,因为那样你就没有风险
隐藏 pygame.locals
中的定义如下:
from pygame.locals import *
K_a = 21 # hide K_a from pygame.locals
我正在为 flappy bird 编写代码,我正在看一个关于碰撞的教程,他们使用了:
from pygame.locals import *
他们为什么不直接使用:
from pygame import local
有什么区别,它如何更改代码?它是导入所有该库还是仅导入特定位。正如我所料,您会为此使用 import pygame?
举个例子来理解
我有一个名为 myApp 的目录,里面有 2 个文件
~app.py ~helper.py
在helper.py我的代码是
abc1 = 'hi'
abc2 = 'bye
在app.py我的代码是
from helper import *
print(abc1)
print(abc2)
所以通过使用 from helper import *
我可以从它导入所有变量和函数但是如果我使用 from helper import abc1
它只导入 abc1 值
第一个从 pygame.locals
导入所有内容。然后你可以
访问 pygame.locals
的元素而不用前缀
模块名称。
from pygame.locals import *
print(K_a) # 97 = ascii code of 'a'
第二个从 pygame 导入模块 locals
。你可以
基本上访问相同的东西,但现在你必须使用模块
名称作为前缀。
from pygame import locals
print(K_a) # NameError: name 'K_a' is not defined
print(locals.K_a) # 97 = ascii code of 'a'
第二种形式更可取,因为那样你就没有风险
隐藏 pygame.locals
中的定义如下:
from pygame.locals import *
K_a = 21 # hide K_a from pygame.locals