# Builtins.lazy for lazy arguments

**URL:** <https://discuss.python.org/t/builtins-lazy-for-lazy-arguments/86577>\
**Category:** Ideas\
**Created:** [March 31, 2025, 6:01am UTC](https://discuss.python.org/t/builtins-lazy-for-lazy-arguments/86577 "2025-03-31T06:01:37Z")\
**Posts on this page:** 1\
**Showing post:** 82

<div class="post-metadata">

**Author:** ![dg-pb](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/dg-pb/32/16248_2.png) [@dg-pb](https://discuss.python.org/u/dg-pb)\
**Post date:** [May 6, 2025, 9:13am UTC](https://discuss.python.org/t/builtins-lazy-for-lazy-arguments/86577/82 "2025-05-06T09:13:41Z")

</div>

> [@peterc](#):
>
> ```python
> import some_lib
> 
> d = some_lib.their_dict({1:1, 2:2})
> keys = [1,2,3]
> for key in keys:
> a = d.get(key, lazy(lambda:3))
> if a == 3:
> ...
> #oops this never triggers
> 
> ```
> 
> The problem I saw with the [Backquotes for deferred expression](https://discuss.python.org/t/backquotes-for-deferred-expression/70577),

I think I misunderstood last time what you meant. If you are referring to [Backquotes for deferred expression](https://discuss.python.org/t/backquotes-for-deferred-expression/70577), it actually has made it work quite nicely.

Even `type(deferred_object)` does the right thing by modifications in `C`. It works predictably and intuitively for Pure Python code, but a way to extend this to `C` extensions has not been found as far as I know, which is a major dealbreaker.

---

_[View the full topic](https://discuss.python.org/t/builtins-lazy-for-lazy-arguments/86577)._
