Attributes

Attributes[symbol]

gives the list of attributes for a symbol.

Attributes["symbol"]

gives the attributes for the symbol named "symbol" if it exists.

Attributes[{s1,s2,}]

gives a list of the attributes for each of the si.

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 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:
  • Constantall derivatives of f are zero
    Flatf is associative
    HoldAllall the arguments of f are not evaluated
    HoldAllCompletethe arguments of f are completely shielded from evaluation
    HoldFirstthe first argument of f is not evaluated
    HoldRestall but the first argument of f are not evaluated
    Listablef is automatically "threaded" over lists
    Lockedattributes of f cannot be changed
    NHoldAllthe arguments of f are not affected by N
    NHoldFirstthe first argument of f is not affected by N
    NHoldRestall but the first argument of f are not affected by N
    NumericFunctionthe value of f is assumed to be a number when its arguments are numbers
    OneIdentityf[a], f[f[a]], etc. are equivalent to a in pattern matching
    Orderlessf is commutative
    Protectedvalues of f cannot be changed
    ReadProtectedvalues of f cannot be read
    SequenceHoldSequence objects in the arguments of f are not flattened out
    StubNeeds is automatically called if the symbol is ever input
    Temporaryf is a local variable, removed when no longer used
  • Attributes has attributes Listable and HoldAll.

Examples

open allclose all

Basic Examples  (2)

Attributes for an existing symbol:

Set attributes for a new symbol:

Scope  (1)

Attributes of a symbol:

Attributes of several symbols in a list:

The symbol can be given as a string:

Properties & Relations  (4)

Add a single attribute to the symbols f and g:

SetAttributes adds to the already existing attributes; Attributes[g]= resets them:

An assignment to Attributes is associated with f, not with Attributes:

Protecting a symbol is equivalent to setting the Protected attribute:

Attributes has the attribute HoldAll:

This gives the attributes of the symbol syms itself:

This gives the attributes of all symbols in the list syms:

Wolfram Research (1988), Attributes, Wolfram Language function, https://reference.wolfram.com/language/ref/Attributes.html (updated 1996).

Text

Wolfram Research (1988), Attributes, Wolfram Language function, https://reference.wolfram.com/language/ref/Attributes.html (updated 1996).

CMS

Wolfram Language. 1988. "Attributes." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 1996. https://reference.wolfram.com/language/ref/Attributes.html.

APA

Wolfram Language. (1988). Attributes. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Attributes.html

BibTeX

@misc{reference.wolfram_2023_attributes, author="Wolfram Research", title="{Attributes}", year="1996", howpublished="\url{https://reference.wolfram.com/language/ref/Attributes.html}", note=[Accessed: 18-March-2024 ]}

BibLaTeX

@online{reference.wolfram_2023_attributes, organization={Wolfram Research}, title={Attributes}, year={1996}, url={https://reference.wolfram.com/language/ref/Attributes.html}, note=[Accessed: 18-March-2024 ]}