【问题标题】:What does this use of << mean in Python<< 在 Python 中的这种用法是什么意思
【发布时间】:2014-04-15 03:40:42
【问题描述】:

我在使用 pyparsing 模块的 Python 示例中遇到了“

whereExpression &lt;&lt; whereCondition + ZeroOrMore( ( and_ | or_ ) + whereExpression )

它显然不是二元左移运算符,但我在任何 Python 参考资料中都没有描述它。有人可以解释一下吗?谢谢。

【问题讨论】:

标签: python pyparsing


【解决方案1】:

像任何运算符一样,&lt;&lt; 可以被类重载以定义它们自己的行为。您提供的示例看起来像是来自使用pyparsing 的代码。这是一个以这种方式重载运算符的解析器库。此处的&lt;&lt; 更新了先前定义的占位符标记的内容。阅读有关 pyparsing 的文档以了解有关其工作原理的更多信息。

底线是&lt;&lt; 可以表示任何东西,就像+&lt; 可以表示任何东西一样,因为运算符的行为取决于它们所操作的对象的类型。您必须知道对象的类型才能理解行为。

【讨论】:

  • 投反对票的人,请帮助回答者改进他的回答,解释什么是错的
  • 您对它的来源是正确的。它来自 pyparsing 库提供的示例。谢谢你的解释。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-15
  • 2014-03-31
  • 2011-01-10
相关资源
最近更新 更多