エクササイズについて約データ抽象化と不変データの場合、数値と関数のみを使用して日付構造を作成する必要があります。私はまた、日付のコンポーネントを印刷する関数を実装する必要があります。Pythonで日付構造を作成するには?
実行例:私は3番目の実行行を理解しない
>>>d = make_date(2016, 12, 26)
>>>d
<function make_date.<locals>.dispatch at 0x02A880C0>
>>>year (d)
2016
>>>month (d)
December
>>> day (d)
26
>>> str_date(d)
'26th of December, 2016'
..
<function make_date.<locals>.dispatch at 0x02A880C0>
は、私は、このような実行とコードの例を得ることができますか?私はこれを取得することがうまく管理..
<function dispatch at 0x02CCE078>
ここ
は、私がこれまでに得たものである:
def make_date(y,m,d):
def year_f():
nonlocal y
return y
def day_f():
nonlocal d
return d
def month_f():
nonlocal m
if(m==1):
return 'January'
if(m==2):
return 'February'
if(m==3):
return 'March'
if(m==4) . . .
def dispatch(date_type):
if date_type==1:
return year_f
if date_type==2:
return month_f
if date_type==3:
return day_f
return dispatch
#=================================================#
def year(p):
return p(1)()
def month(p):
return p(2)()
def day(p):
return p(3)()
def str_date(p):
return repr("{0}th of {1}, {2}".format(day(p),month(p),year(p)))
make_dateなしでが表示されます。 部分 –
私の編集を参照してください。提供されたスニペットでそれは起こらない(私はPython 3を実行している) –
しかし、私のコードディスパッチでは、make_dateにネストされていると私は<関数make_dateを取得しないでください。 .dispatch at 0x000000000346A6A8> –