This is what I wanted (thanks to Steve Jessop):
from datetime import datetime
def get_date(year=None, month=None, day=None):
'''Returns now, with the given parts overwritten'''
dt = datetime.now()
kwargs = {}
if year : kwargs['year'] = year
if month : kwargs['month'] = month
if day : kwargs['day'] = day
if kwargs : return dt.replace(**kwargs)
else : return dt
def get_payment_date():
return get_date(day=15)
print get_payment_date()
, kwargs, dt.replace None year / month / day. , is not None check, 0 .