Message391767
The difference between eval_str=True and eval_str=ONLY_IF_STRINGIZED:
def foo(a:int, b:"howdy howdy"): ...
inspect.get_annotations(foo, eval_str=True) throws an exception.
inspect.get_annotations(foo, eval_str=ONLY_IF_STRINGIZED) returns {'a': int, b: 'howdy howdy'}
Type hints have a convention that string annotations are a "forward declaration" and should be eval()uated. Annotations don't have such a convention--a string is a legal annotation, and is not required to be valid Python. |
|
Date |
User |
Action |
Args |
2021-04-24 07:51:34 | larry | set | recipients:
+ larry, gvanrossum, barry, eric.smith, methane, lukasz.langa, JelleZijlstra, xtreak, kj |
2021-04-24 07:51:34 | larry | set | messageid: <1619250694.69.0.882534696114.issue43817@roundup.psfhosted.org> |
2021-04-24 07:51:34 | larry | link | issue43817 messages |
2021-04-24 07:51:34 | larry | create | |
|