符号表达式
Wolfram 语言中的一切都是符号表达式.
Java 程序员备注:
符号表达式为以统一的树形结构来表示数据提供了非常通用的方法. 其在编程中添加了高级的灵活性,允许对结构和内容同时进行操作. 尽管基本性能可以通过使用第三方程序库实现,但 Java 并不拥有符号功能.
Python 程序员备注:
Wolfram 语言的符号表达式提供了一种极其简单的方法在统一的树形结构中表示数据. 其在编程中加入了高等级的自由度,允许对结构和内容进行操作. Python 没有内置的符号功能,但你可以通过 Python 用 Wolfram 客户端库中的 language.wlexpr 在 Python 中用 Wolfram 符号语法构建任意表达式.
所有符号表达式都具有相同的基本结构:head[arguments]
Java 程序员备注:
Wolfram 语言表达式的 head 确定数据或表示的操作类型. 与在 Java 中的静态类型不同,Wolfram 语言的开头在计算中可能会被转换.
Python 程序员备注:
Wolfram 语言表达式的 head 确定数据或表示的操作类型,且可在计算中随时被转换. 所有 Python 对象都有标注的 class 且不能被更改.
函数的参数可以是任何符号表达式:
Wolfram 语言是完全符号式,因此 “未定义变量” 总保持原样:
Java 程序员备注:
未初始化的 Java 对象和基元通常拥有默认值 null、0 或 false,且试图使用这类变量会导致产生 NullPointerException 或其他错误.
Python 程序员备注:
Wolfram 语言的符号表达式让程序员可以在其计算中不间断地将未定义变量作为符号使用. 未赋值的变量在 Python 中被认为是 “undefined”,且试图使用未定义变量会造成产生 NameError.