Showing content from http://mail.python.org/pipermail/python-dev/attachments/20180105/0ae99702/attachment.html below:
<div dir="auto">Currently, Context.get(var) returns None when "var in context" is false. That's surprising and different than var.get(), especially when var has a default value.<br><br>Code:<br>---<br>import contextvars<br><br>name = contextvars.ContextVar('name', default='victor')<br>context = contextvars.copy_context()<br>print(name in context)<br>print(context.get(name))<br>print(name.get())<div dir="auto">---</div><div dir="auto"><br></div><div dir="auto">Output:</div><div dir="auto">---</div><div dir="auto">False</div><div dir="auto">None</div><div dir="auto">victor</div><div dir="auto">---</div><div dir="auto"><br></div><div dir="auto">Context.get() must raise a lookup error by default if var is not in context. It should return the default argument if it's set, it's just that the default parameter must not have a default value (None).</div><div dir="auto"><br></div><div dir="auto">I'l fine that Context.get(default=None) and var.get() behaves differently (return None vs victor in my example) when var isn't set and var has a default value.</div><div dir="auto"><br></div><div dir="auto">Victor</div></div>
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4