如何在Python项目中使用其他类的属性

2024-10-06 11:29:59 发布

您现在位置:Python中文网/ 问答频道 /正文

import sys
import pygame

def check_event():
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()


def update_screen(ai_setting, screen, ship):
    screen.fill(ai_setting.bg_color)
    ship.blitme()
    pygame.display.flip()

属性bg_color和方法flip()blitme()来自同一目录中的另一个.py文件。你知道吗

但是我不明白这个.py文件如何在没有import的情况下使用和调用它们?你知道吗

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


Tags: 文件pyimporteventdefsysscreensetting
2条回答

def update_screen()是唯一的定义,Python不检查定义中的变量是否正确。执行此函数时,它将检查变量。此外,update_screen()中的ship是唯一的局部变量,您可以在def update_screen(..., ship)中作为参数获得,因此您不能直接从其他文件访问ship.blitme()。你知道吗

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

ai_settingsai_setting.bg_color也是如此。你知道吗


至于flip()-您在这个文件中导入pygame,它导入pygame.display,所以您可以直接访问这个文件中的pygame.display.flip()。你知道吗

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

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

sys模块包含以下信息:

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

有关详细信息:https://docs.python.org/3/library/sys.html

相关问题 更多 >