Как использовать Python объект в операторе if - PullRequest
0 голосов
/ 16 января 2020

У меня есть программа Python, которая использует один из двух объектов:

framework.interfaces.client.client_one.ClientOne
framework.interfaces.client.client_one.ClientTwo

В каждый момент будет создан только один экземпляр, и он будет храниться в переменной с именем notification.

Я хочу проверить, какой клиент используется, и сделать одну вещь, если он ClientOne, и что-то другое, если он ClinetTwo.

Если я добавлю print(notification) в свою программу, я могу увидеть что-то вроде <framework.interfaces.client.client_one.ClientOne object at 0x7f2e9ee09150>. Однако я не могу сделать что-то вроде:

if 'ClientOne' in notification:
    print('ClientOne')
elif 'ClientTwo' in notification:
    print('ClientTwo')

Как я могу проверить, какой объект я использую?

1 Ответ

1 голос
/ 16 января 2020

Можете ли вы использовать isinstance?

from framework.interfaces.client.client_one import ClientOne, ClientTwo
from some_other_module import notification

if isinstance(notification, ClientOne):
    print('ClientOne')
elif isinstance(notification, ClientTwo):
    print('ClientTwo')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...