# Attributes

Attributes[symbol]

gives the list of attributes for a symbol.

# Details

• The attributes of a symbol can be set by assigning a value to Attributes[s]. If a single attribute is assigned, it need not be in a list.
• Attributes[s]={} clears all attributes of a symbol.
• Attributes[{s1,s2,}] gives a list of the attributes for each of the si.
• Attributes["string"] gives the attributes for Symbol["string"].
• is treated as equivalent to Attributes[s].
• Attributes for functions must be set before any definitions that involve the functions are given.
• The complete list of possible attributes for a symbol f is:
•  Constant all derivatives of f are zero Flat f is associative HoldAll all the arguments of f are not evaluated HoldAllComplete the arguments of f are completely shielded from evaluation HoldFirst the first argument of f is not evaluated HoldRest all but the first argument of f are not evaluated Listable f is automatically "threaded" over lists Locked attributes of f cannot be changed NHoldAll the arguments of f are not affected by N NHoldFirst the first argument of f is not affected by N NHoldRest all but the first argument of f are not affected by N NumericFunction the value of f is assumed to be a number when its arguments are numbers OneIdentity f[a], f[f[a]], etc. are equivalent to a in pattern matching Orderless f is commutative Protected values of f cannot be changed ReadProtected values of f cannot be read SequenceHold Sequence objects in the arguments of f are not flattened out Stub Needs is automatically called if the symbol is ever input Temporary f is a local variable, removed when no longer used

# Examples

open allclose all

## Basic Examples(2)

Attributes for an existing symbol:

 In[1]:=
 Out[1]=

Set attributes for a new symbol:

 In[1]:=
 Out[1]=
 In[2]:=
 Out[2]=