在python中将类属性从一个文件导入到另一个文件[duplicate]

szqfcxe2  于 2022-12-25  发布在  Python
关注(0)|答案(1)|浏览(137)
    • 此问题在此处已有答案**:

Python Attribute Error: type object has no attribute(3个答案)
2小时前关门了。
所以我想知道如何将一些代码从一个文件导入到另一个文件中。我的一个文件中有一个播放器类,如下所示

class Player(pygame.sprite.Sprite):
    def __init__(self, pos, surface, create_jump_particles, direction):

其中一个属性是direction,如下所示。

self.direction = pygame.math.Vector2(0, 0)

我有另一个名为Settings的文件,我正尝试将Player类(特别是direction属性)导入到其中。
有人能告诉我为什么这个密码不起作用吗?

from player import Player

if Player.direction.x <= 0:
    [...]

下面是错误消息:

Traceback (most recent call last):
  File "C:\Users\Daniel\Desktop\PlatformerGame.py", line 4, in <module>
    from Settings import *
  File "C:\Users\Daniel\Desktop\Settings.py", line 4, in <module>
    if Player.direction.x <= 0:
AttributeError: type object 'Player' has no attribute 'direction'

我不知道这是否会导致任何问题,我也从设置导入到播放器的东西。

hzbexzde

hzbexzde1#

当你创建一个类的示例时,你使用self。这个示例基本上就是我们所指的self。然而,这里你似乎没有创建任何示例。
您可以创建一个player示例:

player = Player(pos, surface, create_jump_particles, direction) # Fill in these fields.
if player.direction.x < 0:
...

相关问题