Как элегантно проверить существование объекта / экземпляра / переменной и одновременно назначить его переменной, если она существует в python?

Я использую SQLAlchemy для заполнения базы данных, и часто мне нужно перед обработкой проверить, существует ли объект orm в базе данных. Это может быть нетрадиционный вопрос, но я часто сталкивался с этим шаблоном:

my_object = session.query(SomeObject).filter(some_fiter).first()
if my_object: # Mostly in databases...
    # Juchee it exists
    # process
else:
    # It does not exist. :-(
    my_object = SomeObject()
    # process

То, о чем я мечтаю , будет примерно таким:

if my_object = session.query(someObject).blabla.first():
    # if my_object is None this scope is left alone
    # if my_object is not None I can work with my_object here...

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

Есть ли элегантный подход Python для этого шаблона? Этот вопрос нацелен не только на SQLAlchemy, но и на каждый эквивалентный сценарий.

закрыв глаза, нажимая «Опубликовать свой вопрос» и ожидая, пока умные люди и питонисты наизусть выследят меня за то, что я задаю что-то, возможно, неуместное ; )

66
задан DanielSank 1 June 2016 в 17:56
поделиться