
等定义给出了函数值. 有时仅需要规定函数的特性,而不需要明确指定函数的值.
Mathematica 提供了指定函数特性的一系列属性函数. 例如,
Flat 函数规定一个函数有"无层次"特性,所有的嵌套结构都被压平从而具有结合性.
Flat 等函数不仅影响计算,而且影响模式匹配运算. 当对一个函数进行定义或变换时,必须首先确认这个函数的属性.
Mathematica 函数属性中的一个重要属性是
Listable. 该属性规定函数必须线状分布到其自变量中去,即该函数分别作用于每一个自变量列中的每一个元素上.
Mathematica 中可赋于函数的许多属性直接影响函数的计算,也有些属性仅影响函数处理的其它方面. 例如属性
OneIdentity 仅影响模式的匹配,如
"有交换性和结合性的函数" 中讨论的. 同样地,属性
Constant 仅与求导有关的运算相关.
通过
?f 或一些内部函数就可以查看对一些符号的定义,但当设置了
ReadProtected 属性后,
Mathematica 就不允许再查看这个符号的定义. 不过在计算时仍可以继续使用此定义.
给函数设置属性就是令函数具有一些性质,该函数在任何时候都具有此性质. 但有时仅需要在特定情况下,函数具有这一性质,此时最好不要使用属性,而调用一个特定函数来实现与属性有关的变换.