Skip to content

synt.expr.alias ¤

Alias ¤

Bases: Expression

Import alias.

Examples:

1
2
3
4
al = id_("a").as_("b")
assert al.into_code() == "a as b"
p = path(id_('foo'), id_('bar')).as_(id_("baz"))
assert p.into_code() == "foo.bar as baz"
References

alias.

Source code in synt/expr/alias.py
class Alias(Expression):
    r"""Import alias.

    Examples:
        ```python
        al = id_("a").as_("b")
        assert al.into_code() == "a as b"
        p = path(id_('foo'), id_('bar')).as_(id_("baz"))
        assert p.into_code() == "foo.bar as baz"
        ```

    References:
        [`alias`](https://docs.python.org/3/library/ast.html#ast.alias).
    """

    names: ModPath | Expression
    """The names of the alias item."""
    asname: Identifier
    """The alias name."""

    expr_type = ExprType.Atom
    precedence = ExprPrecedence.Atom

    def __init__(self, names: Identifier | ModPath | Expression, asname: Identifier):
        """Initialize a new alias.

        Args:
            names: The names of the alias item.
            asname: The alias name.
        """
        if isinstance(names, Identifier):
            self.names = ModPath(names)
        else:
            self.names = names
        self.asname = asname

    def into_code(self) -> str:
        return f"{self.names.into_code()} as {self.asname.into_code()}"

names instance-attribute ¤

The names of the alias item.

expr_type class-attribute instance-attribute ¤

expr_type = Atom

precedence class-attribute instance-attribute ¤

precedence = Atom

asname instance-attribute ¤

asname: Identifier = asname

The alias name.

__init__ ¤

1
2
3
4
__init__(
    names: Identifier | ModPath | Expression,
    asname: Identifier,
)

Initialize a new alias.

Parameters:

Name Type Description Default
names Identifier | ModPath | Expression

The names of the alias item.

required
asname Identifier

The alias name.

required
Source code in synt/expr/alias.py
def __init__(self, names: Identifier | ModPath | Expression, asname: Identifier):
    """Initialize a new alias.

    Args:
        names: The names of the alias item.
        asname: The alias name.
    """
    if isinstance(names, Identifier):
        self.names = ModPath(names)
    else:
        self.names = names
    self.asname = asname

into_code ¤

into_code() -> str
Source code in synt/expr/alias.py
def into_code(self) -> str:
    return f"{self.names.into_code()} as {self.asname.into_code()}"