Спасибо за ваши ответы и прояснение. Меня интересует любой метод, не только лямбда.Итак, я посмотрел на свойства, чтобы посмотреть, может ли это сработать ...
Я создал это, чтобы попробовать.
import datetime
class DefaultParams():
@property
def curr_time( self ):
return datetime.datetime.now()
при доступе к свойству defaults.curr_time
запустить его, он даеттекущее время без возможности вызова
>>> defaults = DefaultParams()
>>> defaults.curr_time
datetime.datetime(2018, 6, 2, 10, 49, 16, 38295)
>>> defaults.curr_time
datetime.datetime(2018, 6, 2, 10, 49, 17, 211985)
Так что я подключил это и распечатал curr_time при вызове tdiff
def tdiff(target_time, curr_time= defaults.curr_time ):
print(curr_time)
return curr_time - target_time
Но когда я запускаю, он показывает curr_time, развертывающий static @ 10: 48: 58.675151.
>>> tdiff(datetime.datetime.now())
2018-06-02 10:48:58.675151
datetime.timedelta(-1, 85430, 433255)
>>> tdiff(datetime.datetime.now())
2018-06-02 10:48:58.675151
datetime.timedelta(-1, 85429, 58707)
Так что это никак не может быть возможно.Я все еще думаю, что было бы полезно, чтобы Python мог делать такие вещи.