自定义运算符

我想在Python定义自定义操作员. (这不是要超载现有操作员,而是关于 定义特殊新运营商) 这是否可以在不深入操纵Python代码的情况下进行? 是否期望副作用? 那操作员的优先级呢? 可以将操作员定义为右或左右吗? Mathias

# 回答1

Mathias写道: Afaik多数民众赞成在Python语法的一部分 - 所以您不能做到. 如果你真的 需要这样的东西,您可能能够创建一种自定义语言或 预处理器. 您实际上想介绍什么? - - 问候, Diez B. Roggisch
# 回答2

Mathias写道: 您不能在Python中定义新的语法. 这是故意的,如果可以的话,Python将是另一种语言. "导入" 你为什么需要它? Gerrit. - - Prepep:内置路径类型http://people.nl.linux.org/~gerrit/c.../pep-xxxx.html 阿斯伯格综合症 - 一种个人方法:http://people.nl.linux.org/~gerrit/english/(_@_ _) 我想定义新运营商,因为数学家使用特别操作员( 例如Circle Plus(+),Circle Times(*),箭头 - > )几个世纪以来. 它提高了这一领域的可读性,人们有 已经习惯了. 顺便说一句,python中是否有钩子在 Python编译器 照顾好它? Mathias Gerrit写道:在2004年5月2日晚上11:07 +0100:您无法在Python中定义新语法.这是故意的,如果可以的话,Python将是另一种语言. . /〜Gerrit/English/ Mathias Foehr etBéatriceGennart 69a,路线de Kreuzerbuch L-8370 Hobscheid GD Luxembourg
# 回答3

maxhyde*******@mails.lu写道: 并不是我知道 - 但我不是专家. 几周前有人 宣布他正在研究LISP风格的Makros-也许他找到了一种方法. 搜索Google. - - 问候, diez B. Roggisch
# 回答4

maxhyde*******@mails.lu写道: 嗯,但是所有语法都必须是ASCII. A +可以被覆盖 使用__ADD__,a * with __mul__,甚至可能会有一个丑陋的 攻击以覆盖 - >使用__sub__和__gt__,尽管我不这么认为. 但是添加新角色当然是不可能的. Gerrit. - - Prepep:内置路径类型http://people.nl.linux.org/~gerrit/c.../pep-xxxx.html 阿斯伯格综合症 - 一种个人方法:http://people.nl.linux.org/~gerrit/english/(_@_ _) 在2004年2月6日星期五07:56:28 +0100,Mathias.foehr写道: 但是有很多... :-) 数学家是例如 也用于乳胶术语 写论文; 因此,这可能是一种更好的方法 使用名称定义一组功能,类,方法等 从乳胶(而不是试图将"真实"的新运营商添加到 Python). 此外:观察到,例如 Oplus(+)有不同的含义 (取决于您正在工作的数学领域 ). 相同 持有几乎所有操作员. hth / nuff
# 回答5

在消息中写道 新闻:6. 不,没有内置的宏观设施. 您能做的最好的就是引用 代码以保护其免受初始编译器通行证的侵害,以便您可以操纵它 作为运行时字符串,然后才真正编译. Terry J. Reedy
# 回答6

gerrit 在消息新闻中写道: ...嗯,但是所有语法都必须是ascii. Python中仍然有三个ASCII字符: '@','$'和'?'. 我看不到任何明显的数学含义 不过,他们.
# 回答7

在文章中 " greg ewing(使用news.cis.dfn.de)" 写道:嗯...现在我们可以拥有Unicode源,也许是任何其他unicode Unicode Putaruation Charte 可以作为操作员被Beallow. 相应的方法名称将是字符的Unicode名称,具有双重下划线. Unicode中有很多中文. 非常丰富的符号 放. 是时候重新参观约翰·塞尔的工作了. 问候. 梅尔.

标签: python

添加新评论