我正在处理一个我收到的Python文件,并且在Python中进行初始化时,我看到一个包含多种变量的类。目前尚不清楚对我有什么逻辑,当我定义的属性,我应该遵循和初始化哪些与否,下面的代码的一部分:了解Python中的__init__
class Simulator(object):
colors = {'gray' : (155, 155, 155)}
def __init__(self, env, size=None, update_delay=2.0, display=True):
self.env = env
self.size = size if size is not None else self.env.grid_size[0]
self.road_width = 44
self.bg_color = self.colors['gray']
self.quit = False
self.start_time = None
self.current_time = 0.0
if self.display:
try:
self.pygame = importlib.import_module('pygame')
self.pygame.init()
self.screen = self.pygame.display.set_mode(self.size)
例如:
env
:它是在圆括号中声明,然后初始化 - >清除size
:它被声明,但初始化时它使用self.env.grid_size[0]
。env
如何可以有一个属性grid_size
它没有被定义或初始化?road_with
:为什么在括号中没有提及?我只想把road_with
放在圆括号中,默认值为44bg_color
:为什么它没有在括号中定义?为什么
quit
,start_time
,current_time
未在括号中定义?它是如何工作来声明但不是初始化一个
self.pygame
这是与一个模块,这是以前没有在代码中调用?它是如何工作的,用
self.pygame.init()
启动另一个模块?
你使用过除python以外的任何语言吗? –