一、Java里面的注解Annotation只是个标记,是静态信息,需要其他代码来“根据标记执行“。比如一个员工(类或方法)在某公司里被打上了“项目经理”的tag(注解),那么只要他在这个公司,公司所有人就能识别出他是项目经理,他也能享受到项目经理岗位的待遇。而除了这个公司,其他公司并不把他当成项目经理,也不会有相应的权利和义务。
二、Python里的装饰器是一个有逻辑的,可以执行的函数,是动态的,本质上是闭包函数(嵌套函数)的语法糖(加了糖的语法,代码的一种便捷写法)。相较Java注解,Python装饰器是可以做事情的,比如你要吃饭(主函数做的事情),吃饭前有人给你收拾餐桌(装饰器做的事情1),吃饭后有人给你洗漱碗筷(装饰器做的事情2)。