如何使用其他类';Python项目中的s属性 导入系统 导入pygame def check_事件(): 对于pygame.event.get()中的事件: 如果event.type==pygame.QUIT: sys.exit() def更新屏幕(ai设置、屏幕、发货): 屏幕填充(ai_设置.bg_颜色) 飞船。blitme() pygame.display.flip()

如何使用其他类';Python项目中的s属性 导入系统 导入pygame def check_事件(): 对于pygame.event.get()中的事件: 如果event.type==pygame.QUIT: sys.exit() def更新屏幕(ai设置、屏幕、发货): 屏幕填充(ai_设置.bg_颜色) 飞船。blitme() pygame.display.flip(),python,function,attributes,call,Python,Function,Attributes,Call,属性bg\u color和方法flip()和blitme()来自同一目录下的另一个.py文件 但是我不明白这个.py文件如何在没有导入的情况下使用和调用它们 代码来自“Python速成课程”一书,第248页。您之所以能够访问其他变量和方法,是因为您在开始时导入了sys模块 Python附带了许多可导入的模块,sys就是其中之一。sys模块是一组函数,提供有关Python脚本如何与主机系统交互的关键信息 sys模块包含以下信息: 运行的是哪个版本的Python 执行脚本的Python可执行文件的

属性
bg\u color
和方法
flip()
blitme()
来自同一目录下的另一个
.py
文件

但是我不明白这个
.py
文件如何在没有
导入的情况下使用和调用它们


代码来自“Python速成课程”一书,第248页。

您之所以能够访问其他变量和方法,是因为您在开始时导入了
sys
模块

Python附带了许多可导入的模块,sys就是其中之一。sys模块是一组函数,提供有关Python脚本如何与主机系统交互的关键信息

sys模块包含以下信息:

  • 运行的是哪个版本的Python
  • 执行脚本的Python可执行文件的路径
  • 用于执行脚本的命令行选项
  • 已设置的任何特定于Python的标志
  • 有关浮点值及其表示形式的信息
  • 函数,可以设置每个python指令之后发生的事情
  • 以及一个干净地退出Python解释器的函数
有关更多详细信息:

def update_screen()
是唯一的定义,Python不会检查定义中的变量是否正确。执行此函数时,它将检查变量。除此之外,
update\u screen()
中的
ship
是唯一的局部变量,您可以在
def update\u screen(…,ship)
中作为参数获取,因此您不能从其他文件直接访问
ship.blitme()

我希望您将此代码导入到另一个文件中,并在另一个文件中使用类
Ship
的实例执行它,该类定义在另一个文件中。然后Python将现有实例
Ship
分配给
update\u screen(…,Ship)
内部的局部变量
Ship
,并使用来自该实例的方法
blitme()

ai_设置
ai_设置.bg_颜色
也是如此



至于
flip()
-你在这个文件中导入
pygame
,它导入
pygame.display
,这样你就可以直接访问这个文件中的
pygame.display.flip()

“不用‘导入’就可以使用和调用它们了吗?”:你不能,你必须导入
属性“bg_color”分别来自另两个不同的py文件“ship.py”和“settings”。但是在这个代码文件中,没有导入,所以我不知道如何以及为什么可以在当前文件中调用它们
。所以您不直接使用它-在不运行函数之前,您不会使用其他文件中的对象。
update\u screen
。您不会将
ship`导入此文件,但您可以将
update\u screen()
导入另一个文件,在该文件中您将运行
update\u screen()
带有参数
从其他文件和
更新屏幕()发货
将获得它。这与
bg\u color
一样,它是对象
ai\u设置的一部分
-您不直接从其他文件访问,而是将
update\u screen
导入到其他文件中,在该文件中使用其他文件中存在的
ai\u设置运行它。感谢Parth,我认为该方法退出()来自sys,但方法'blitme()'和属性'bg_color'来自我创建的另两个不同的py文件'ship.py'和'settings'。但是在这个代码文件中,没有导入,所以我不知道如何以及为什么可以在当前文件中调用它们。这是完全正确的,在下面的代码更新_屏幕中是()调用,并创建变量ship作为类ship的实例,并从中导入。非常感谢furas~!