Tôi muốn tạo một trang trí sẽ bắt ngoại lệ và đăng nhập đầy đủ.Kỳ lạ với một người trang trí
def logger(foo):
try:
print foo()
except Exception as e:
print e
@logger
def d():
return 2/2
if __name__ == '__main__':
d()
Thats đúng tôi nghĩ, nhưng sau đó tôi chạy nó và tôi có một ngoại lệ như thế này:
1
Traceback (most recent call last):
File "log.py", line 14, in <module>
d()
TypeError: 'NoneType' object is not callable
Tại sao dịch viên nói với tôi rằng các chức năng có Không loại, nhưng gọi nó và trả lời in?
Cân nhắc đọc [Wiki về trang trí] (http://wiki.python.org/moin/PythonDecorators), [PEP-0318] (http://www.python.org/dev/peps/pep-0318/) và cuối cùng [this] (http://docs.python.org/library/functools.html#functools.update_wrapper) – reclosedev