Try this out (Python 3.2.2 (default, Sep  5 2011, 04:52:19)):<div><br></div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

<font face="'courier new', monospace">global_variable = None<br>(lambda *, keyword_only=global_variable: None)             # Works, as expected<br>(lambda: <span style="background-color: transparent; ">(lambda argument=global_variable: None))()        # Works, as expected<br>

</span>(lambda: <span style="background-color: transparent; ">(lambda *, keyword_only=global_variable: None))() # Fails???<br></span>(lambda: <span style="background-color: transparent; ">(lambda argument=fake_variable: None))()          # Fails, as expected<br>

</span>(lambda: <span style="background-color: transparent; ">(l</span><span style="background-color: transparent; ">ambda *, keyword_only=fake_variable: None))()   # Fails???</span></font></blockquote><div><span style="background-color: transparent; "><br>

</span></div><div>Non-lambdas work as expected, but a lambda inside a non-lambda still exhibits this behaviour.</div><div><span style="background-color: transparent; "><br></span></div><div><span style="background-color: transparent; ">Conclusion:</span></div>

<div><span style="background-color: transparent; ">When setting defaults to keyword-only arguments in lambdas which are inside non-global scopes, cPython is unable to access the global scope and raises SystemError.</span></div>