Я хотел бы использовать функцию lambda
для возврата значений. Это может быть обработано в функции, однако для этого упражнения предпочтительнее использовать лямбду. В общем, я хочу, чтобы lambda
возвращал либо дату, либо 0, передавая второй параметр.
import datetime
none_func=lambda x: 0 if x is None else x
print(none_func(None))
print(none_func(7))
print(none_func(datetime.datetime(2020,1,1)))
### Here, update the lambda function to take an additional parameters, like returns a date if None as well
none_func=lambda x: datetime.datetime(1900,1,1) if x is None else x
print(none_func(None))
print(none_func(7))
Обновлен для уточнения:
Я хотел бы преобразовать функцию объединения до lambda
.
def coalesce(x,return_schema='int'):
if x is None and return_schema=='int': return 0
elif x is None and return_schema=='date': return datetime.datetime(1900,1,1)
else: return x
print(coalesce(7))
print(coalesce(None))
print(coalesce(None,return_schema='date'))
print(coalesce(datetime.datetime.today(),return_schema='date'))