pygritia.lazy module

Provides Lazy class and symbol()

class pygritia.lazy.Lazy(action: pygritia.core.LazyAction, origin: Optional[LazyMixin] = None)[source]

Bases: pygritia.attr.AttrMixin, pygritia.item.ItemMixin, pygritia.call.CallMixin, pygritia.unary.UnaryMixin, pygritia.binary.BinaryMixin, pygritia.rbinary.ReversedBinaryMixin

Minimal base class of lazy expressions

To extend functionality of lazy expressions(i.e. property descriptor from expression), create a new class which is derived from this class.

Each functionality of Lazy is implemented in the base mixin classes.

pygritia.lazy.symbol(name: str) → Any[source]

Create symbol for lazy expression

Returns:Newly created symbol expression
Return type:Any