gpt4 book ai didi

python - Python中的面向方面编程(AOP)

转载 作者:IT老高 更新时间:2023-10-28 20:32:54 25 4
gpt4 key购买 nike

Possible Duplicate:
Any AOP support library for Python?

我熟悉 Java 语言的 AspectJ 扩展。

我想知道 Python 是否有这样的东西。

不要误会,我不是指库,而是像 AspectJ 这样的语言扩展是 Java 的。

最佳答案

Python 不需要“语言扩展”之类的东西就能以面向方面的方式工作。

这仅仅是由于 Python 本身的动态机制。谷歌搜索会产生几个项目——尽管看起来只是像库,但它是 Python 所需要的。

这不是我编造的——事实上,您可以内省(introspection)类和方法,并在运行时更改它们。当我第一次了解 Aspect Orientation 时,我可以在几个小时内用 Python 实现一些概念证明——当然,现有的一些项目可以提供生产质量的条目。

但是既然你问了,有一种 Python “语言扩展”可以用于 Aspect Orientation:当我进行上面提到的概念证明时,我曾经在运行时检查方法的输入参数确定某些方法是否会受到规则的影响。

在 Python 3 中,该语言有一个鲜为人知的特性,它允许注释函数或方法的输入参数和返回值。方面方向库可以利用这一点在“加载时”应用它的魔力,而不是在每个函数调用时。

顺便说一句,这里是我的快速破解,以获取将 Aspect Orientation 与纯 Python 结合使用的工作示例。抱歉 - 代码注释在 pt_BR - https://github.com/jsbueno/metapython/blob/main/aspect.py

关于python - Python中的面向方面编程(AOP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12356713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com