Существуют ли другие способы проверки, содержит ли список в классе элемент - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь проверить, есть ли в списке, который содержится в классе, элемент и ключевое слово «in» не работает. Есть ли другой способ сделать это. Я напечатал пример того, о чем я спрашиваю. Пожалуйста, игнорируйте интервалы и т.д., это только пример. Моя проблема заключается в проверке, содержит ли список инструментов [] элемент.

Class Player():
     def __init__(self):
           tools= []
player = Player()

player.tools.append('x')

####right here, is there another way of checking if the list contains the elements #####
If 'x' in player.tools:
    pass

1 Ответ

1 голос
/ 08 апреля 2019

В вашем экземпляре класса есть ошибка (которая исправлена ​​ниже):

Class Player():
     def __init__(self):
           self.tools= []
player = Player()

Атрибуты экземпляра обозначены как «self.attribute». В противном случае вы только что объявили локальную переменную в области действия init ().

Чтобы полностью ответить на ваш вопрос, вы должны проверить его так:

if 'x' in player.tools:
    pass

После присвоения:

player.tools.append('x')

ИЛИ, если вы находитесь внутри метода вашего класса:

self.tools.append('x')

Вы также должны взглянуть на встроенные методы, такие как getattr (), setattr () и hasattr () для дальнейшего использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...