簡體   English   中英

是否可以“提示”字典鍵?

[英]Is it possible to “hint” dictionary keys?

PyCharm代碼完成 >“基本完成”>“調用基本完成”>“字典”中,我看到,如果您將字典硬編碼為某些值,則在編寫有關該字典的代碼時可以使用代碼完成。

但是顯然,在很多情況下,您將使用字典,並且事先有一些想法,該字典的結構將是什么,並且您不想將字典硬編碼到代碼中。 例如,也許您正在解析一些具有預期結構的YAML或JSON。

如果您可以“暗示” Python中的結構,那將非常好,這樣您就可以輕松,快速地編寫使用該字典的所有位置的代碼。 那可能嗎?

據我所知,在Python 3.8中引入TypedDict之前,尚無商定的方式來提示Python字典的特定鍵名和關聯值。

Python中還沒有對類型(提示)字典的“官方”支持。 但是, mypy_extensions包確實公開了TypedDict ,它支持以下語法來定義可由MyPy驗證的類型化字典。

DictT = TypedDict(
    'DictT ',
    {
         'field': str, 
         'int_field': int,
    }
)

https://www.python.org/dev/peps/pep-0589/#alternative-syntax

然后,您可以將MyPy集成到PyCharm中,但是根據他們的bug跟蹤器,不直接支持類型提示TypedDicts https://youtrack.jetbrains.com/issue/PY-36008

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM