[英]Why is this warning “Expected type 'int' (matched generic type '_T'), got 'Dict[str, None]' instead”?
請仔細觀察問題並仔細回答, 您會發現它不是重復的 ,尤其是因為他們沒有回答我的問題。
嘗試創建一個新的空項目,並添加此代碼。 它工作正常,沒有警告:
game_data = {'boats': [], }
game_data['boats'].append({'name': None})
現在將其更改為:
game_data = {'boats': [], 'width': None, 'height': None, }
game_data['boats'].append({'name': None})
仍然沒有警告。 並再次更改為:
w = 12
game_data = {'boats': [], 'width': None, 'height': w, }
game_data['boats'].append({'name': None})
現在您將獲得:
Expected type 'int' (matched generic type '_T'), got 'Dict[str, None]' instead
我是唯一擁有這個的人嗎? 那為什么呢? 有解決方案可以使此警告消失嗎?
我的猜測是發出此警告的分析不夠清晰。
的值類型
game_data = {'boats': [], 'width': None, 'height': None}
無法確定。
您輸入的第一個“真實”值是一個整數:
w = 12
game_data = {'boats': [], 'width': None, 'height': w}
因此,PyCharm 假定這是dict(string->int)
。
然后,您將一個內部dict作為值添加到您的空列表中:
game_data['boats'].append({'name': None})
因此,現在它有了一個dict(string-> int),突然變得很復雜,並發出警告。
那與PyCharm中的這個警告是什么意思差不多? 關於:使用pycharm作為IDE將int
添加到list of string
s的list of string
。
至於如何擺脫警告:Jetbrains Resharper是非常可配置的,我想pycharm也可以。 該文檔https://www.jetbrains.com/help/pycharm/configuring-inspection-severities.html#severity可能會幫助您降低嚴重性-如果不是,我確定Jetbrains的支持會渴望幫助您-他們每當我在使用reshaper時遇到問題時。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.