pyparsing <<= 如何简化代码
时间: 2024-05-09 20:16:25 浏览: 67
化繁为简之Python代码
在 pyparsing 中,`<<=` 用于将解析器对象与指定的回调函数进行关联。如果您想简化代码,可以考虑使用 Python 的 `@decorator` 语法来代替 `<<=`。
例如,假设您有以下的 pyparsing 代码:
```
from pyparsing import Word, nums
def handle_integer(tokens):
print("Integer:", int(tokens[0]))
integer = Word(nums).setParseAction(handle_integer)
integer <<= handle_integer
```
可以使用 `@decorator` 语法来简化它:
```
from pyparsing import Word, nums
@parseWithAction(lambda t: print("Integer:", int(t[0])))
def integer():
return Word(nums)
def parseWithAction(action):
def decorator(parser):
return parser.setParseAction(action)
return decorator
```
这样,您就可以像下面这样使用简化后的代码:
```
integer().parseString("123")
```
输出:
```
Integer: 123
```
阅读全文