Проверьте, был ли объект создан - PullRequest
0 голосов
/ 10 октября 2018

Я продолжаю сталкиваться с проблемой, когда мне приходится проверять, был ли создан экземпляр объекта для класса или была ли создана переменная.

Если, например, переменная frog никогда не создавалась

bool(frog)

Я получаю неопределенную ошибку - я, вероятно, должен был использовать type(frog) там, но такая же ошибка bool(frog) звучит смешнее.Вместо этого, если я напишу

'frog' in dir()

, я получу False в качестве вывода.Это нормально, но чаще я сталкиваюсь с проблемой с объектами, где я их создаю, и не знаю, как их зовут (как будто они в списке).Рассмотрим объект из

class beatle(object):

    def __init__(self, name):
        self.name = name

b1 = beatle('Ringo')

Теперь, если это происходило только в определенных случаях в далекой части моего кода, и я не знал, что object назывался b1, как могЯ проверяю, встречался ли экземпляр beatle?Если я проверю dir(), я не смогу узнать по именам, является ли какой-либо участник dir() действительно битлом - или, возможно, списком битлов.Проблема для меня в том, что dir() - это список <class str>, поэтому я не думаю, что он может предоставить то, что мне нужно.Я думал о том, чтобы просто добавить индикатор типа bool в любое условие, где создается объект, но это выглядит слишком жестко.


РЕДАКТИРОВАТЬ: Здесь было большое редактирование, потому что я улучшал свое кодирование со времени моего последнего поста, и я стараюсь избежать запрета на вопросы, поэтому я прошу прощения, если это запутывает кого-либооригинальные комментарии.

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