Как вызвать метод класса из родителя?

from starlette.websockets import WebSocket


class Player:

    __ws = ''

    def __init__(self, ws: WebSocket, state: str = 'X')->None:
        self.__ws = ws
    ...

class Game:

    players = []
    ...
    
    async def create(cls, ws:WebSocket):
        self = cls()
        player = await self.create_player(ws)
        ...

    def get_sockets(self):
        if(len(self.players)==1):
            return [self.players[0].__ws]
        else:
            return [self.players[0].__ws, self.players[1].__ws]

    async def create_player(self, ws:WebSocket):
        return Player(ws)

    async def join_player(self, ws:WebSocket):
        player = Player(ws,'O')
        ...

    def get_players(self):
        return  self.players

В другом файле

import typing

from starlette.endpoints import WebSocketEndpoint
from starlette.websockets import WebSocket

from .game import Game, Player


class WSGame(WebSocketEndpoint):

    games = []
...

   
    async def on_receive(self, websocket: WebSocket, data: typing.Any) -> None:
        ...

                for game in self.games:
                    for sock in game.get_sockets():
                        await self.update(sock)

Ошибка

line 47, in on_receive
    for sock in game.get_sockets():
AttributeError: 'NoneType' object has no attribute 'get_sockets'

То есть вообще не видит типа элементов массива и почему то если сделать print массива выдает [None]


Ответы (0 шт):