?????
?? ????? ?? ?? ??? ???? ???? ?? ?????. ? ????? ?? ??? ??? ????? Python ?????? ???? ?????? ??? ??? ?????.
?? ?? ?? ??? ???? ??? ????.
def punch(): print('昵稱:兩點(diǎn)水 部門:做鴨事業(yè)部 上班打卡成功') punch()
?? ??? ??? ????.
昵稱:兩點(diǎn)水 部門:做鴨事業(yè)部 上班打卡成功
?? ?? ???, ?? ? ?? ??? ?? ??? ?? ???? ??, ??? ?? ??? ???? ???. ? ??? ?? ???? ? ? ?? ??? ? ????. ???, ??? ??? ?? ??? ???? ??? ?????.
import time def punch(): print(time.strftime('%Y-%m-%d', time.localtime(time.time()))) print('昵稱:兩點(diǎn)水 部門:做鴨事業(yè)部 上班打卡成功') punch()
?? ??? ??? ????.
2018-01-09 昵稱:兩點(diǎn)水 部門:做鴨事業(yè)部 上班打卡成功
??? ???? ???? ? ??? ??? ?? ?? ??? ??? ??? ?????. ???? ??? ??? ????? ????? ?????. ?? ??? ???? ?? ??? ???? ?? ?? ?? ??? ??? ? ????. ?? ??, ?? ??? ???? ????? ??? ?? ??? ??? ???? ?? ? ?? ?? ???? ??? ?? ???? ???? ??, ?? ??? ???? ??? ??? ??? ?? ????, ? ?? ??? ?? ?? ??? ??? ? ????. ?? ?? ?? ?? ????? ????.
?? ???? ??? ?????? ???? ??? ? ??? ??? ? ????. ?? ??? ?? Python ???? ? ?? ??? ??? ?? ?? ????. ??? ?? ?? ??? ? ????. ?? ?? ??? ??? ?? ?????. ???? ??? ?? ?? ??? ???? ??? ?? ??? ???? ?? ?? ??? ??? ?? ??? add_time? ??? ? ????.
import time def punch(): print('昵稱:兩點(diǎn)水 部門:做鴨事業(yè)部 上班打卡成功') def add_time(func): print(time.strftime('%Y-%m-%d', time.localtime(time.time()))) func() add_time(punch)
?? ??:
2018-01-09 昵稱:兩點(diǎn)水 部門:做鴨事業(yè)部 上班打卡成功
???? ?? ?????? ????? ????? ??? ??? ?? ??? ????? ???? ???. ?? ???? ? ?? ??? ????? ?, ?? ??? ??? ?? ?? ????????. ?????? ???? ??? ?? ???? ?????, ????? ?? ??? ?? ???? ?????? ???? ??? ?????. ??? ?? ???? ??? ?????? ???? ??????
import time def punch(): print('昵稱:兩點(diǎn)水 部門:做鴨事業(yè)部 上班打卡成功') def add_time(func): print(time.strftime('%Y-%m-%d', time.localtime(time.time()))) func() def holiday(): print('天氣太冷,今天放假') add_time(punch) add_time(holiday)
?? ??:
2018-01-09 昵稱:兩點(diǎn)水 部門:做鴨事業(yè)部 上班打卡成功 2018-01-09 天氣太冷,今天放假
??? ?? ????? ??? ????? ?? ? ?? ??? ????? ?? ? ? ????.
??? ????? ????.
?? ??? ?????? ?? ??? ??? ????? ????. ??? ?? ??? ????, ?? ??? ??
?? ?? ??
??? ? ??? ? ???? ??? ??????? ? ?????? ???? ??? ? ? ???? ???? ??? ??? ???, ??? ?? ???? ???? ???.
?? ?????? "syntax sugar"? ???? ??? ?????. ?? ??? ?? Python? ?????(Decorator)? ???? ? ??? ?? ??? ???? ???? ? ? ????. ?? ?? ??. ?? ?? ?????? Python?? ??? ?? ??? ?? ??? ??? ????? ?????? ?????. ?? Python? ?????? ???? ?????? ?? ??? ???? ??? ?? ??? ?? ??? ? ???? ???? ???? ?? ???? ??? ??? @ ?? ??? ???? ?????. Python ?????? ?? ????? ?? ? ????.
???? ?? ??? ??? ?????? ?? ????? ?? ????? ??? ??? ? ?? ??? @? ?????? ???? ?? ???? ???. ??? ????:
import time def decorator(func): def punch(): print(time.strftime('%Y-%m-%d', time.localtime(time.time()))) func() return punch def punch(): print('昵稱:兩點(diǎn)水 部門:做鴨事業(yè)部 上班打卡成功') f = decorator(punch) f()
?? ??:
2018-01-09 昵稱:兩點(diǎn)水 部門:做鴨事業(yè)部 上班打卡成功
??? ?? ??? ?? ?????. ?? ?? ? ???? ?????? ??? ? ?? ??? ?????? ?? ??? ?? ??? ? ????. ? ???? ?? ??? ??? ?? ??? ??? ??? ????.
??? ???? ?? ??? ?????. ?, ??? ??? ??? ???? ???? ?????? ??? ???? ???? ?????? ??? *args ?? ????? ??? ? ??? *args? ???? ????? ?? ????? ??? ??? ? ????. ?? ?? ??? ????? ????? **kwargs ? ???? ???.
??? ?????? ?? ??? ??? ?? ??? ? ????.
import time def decorator(func): def punch(): print(time.strftime('%Y-%m-%d', time.localtime(time.time()))) func() return punch @decorator def punch(): print('昵稱:兩點(diǎn)水 部門:做鴨事業(yè)部 上班打卡成功') punch()
?? ??? ??? ????.
2018-01-09 昵稱:兩點(diǎn)水 部門:做鴨事業(yè)部 上班打卡成功
??? Python ??? ?? ??? ??? ????.