+/plusminus是一个模块,它构建在pyparsing infixNotation helper方法的基础上,以构建easytocode和easytoose解析器来解析和计算中缀算术表达式。plusminus的arithmetricparser类包括单独的parse和evaluate方法、处理运算符优先级、用括号重写、是否有空白、内置函数以及预定义和用户定义的变量、函数和运算符。

plusminus的Python项目详细描述


普鲁斯米努斯

plusminus包基于^{}提供了一个随时可以运行的算术解析器和计算器 ^{}助手方法。在

可以使用^{}解析和计算包含6函数算术表达式的字符串:

fromplusminusimportBasicArithmeticParserparser=BasicArithmeticParser()print(parser.evaluate("2+3/10"))

解析器还可以返回ArithNode对象的抽象语法树:

^{pr2}$

算术表达式的计算遵循运算符优先级的标准规则,允许使用括号覆盖:

()
∩ (set intersection)
∪ (set union)
-
**
* / // × ÷ mod
+ -
< > <= >= == != ≠ ≤ ≥
in ∈ ∉
not
and ∧
or ∨
? : (ternary)

函数可以调用:

  sgn    min  asin  rad    gcd
  abs    max  acos  deg    lcm
  round  str  atan  ln     gamma
  trunc  sin  sinh  log    hypot
  ceil   cos  cosh  log2   rnd
  floor  tan  tanh  log10

基本算术分析器还支持变量赋值:

r = 5
area = π × r²

最后一个表达式可以使用@=公式赋值:

area @= π × r²

r更新时,将使用新值重新评估{}的值。在

可以使用简单的^{}定义自定义表达式。示例解析器 包括掷骰子、组合/排列表达式,以及 常见的商业计算。这些解析器可以合并到 其他应用程序支持用户自定义的安全评估 特定于域的表达式。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring安全编程授权   java Android库AAR取决于另一个库   Java/Groovy双精度语句问题   爪哇。查看安卓监视器图形时,release()不会减少我的内存   java无法在子类中使用EventFiringWebDriver对象   java第一个if语句始终为true,但第二个if语句不为true   java如何从作为字符串提供的XML源代码创建可绘制(或XmlResourceParser对象)?   多线程Java并发问题锁和同步方法   java Android Studio注册链接   java ArrayList of ArrayList of String   使用Shadow重新定位的包中的java Kotlin属性不起作用   java在接口org上找不到方法。阿帕奇。伊巴蒂斯。遗嘱执行人。陈述名为prepare的语句处理程序   如何在Java中放大2倍?   java当参数作为RequestBody和RequestParam发送时,sprig控制器无法识别发送的请求