8.12: Aliasing

Python for Everybody · LibreTexts

0%

Contents

    Text

    Size
    100%
    Theme
    Typeface
    Line length
    Spacing

    From LibreTexts, under CC BY-NC-SA 4.0, as the source states it; its equations are written in TeX, which the PDF shows typeset. This page at LibreTexts.

    8.12: Aliasing

    If a refers to an object and you assign b = a, then both variables refer to the same object:

    >>> a = [1, 2, 3]
    >>> b = a
    >>> b is a
    True

    The association of a variable with an object is called a reference. In this example, there are two references to the same object.

    An object with more than one reference has more than one name, so we say that the object is aliased.

    If the aliased object is mutable, changes made with one alias affect the other:

    >>> b[0] = 17
    >>> print(a)
    [17, 2, 3]

    Although this behavior can be useful, it is error-prone. In general, it is safer to avoid aliasing when you are working with mutable objects.

    For immutable objects like strings, aliasing is not as much of a problem. In this example:

    a = 'banana'
    b = 'banana'

    it almost never makes a difference whether a and b refer to the same string or not.


    This page titled 8.12: Aliasing was last modified on Tue, 01 Dec 2020 03:50:56 GMT and is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by Chuck Severance via source content that was edited to the style and standards of the LibreTexts platform.