3
A
回答
1
讓我們來看看:
typing.List<~T>[typing.Tuple[int]]
typing.List
意味着List
<~T>
從typing
庫類型,名爲意味着這種類型是通用的,它是在另一種類型的T定義的[typing.Tuple[int]]
意味着類型T是類型Tuple[int]
。
在自然語言,你可以這樣寫的定義:
typing.List<~T>[typing.Tuple[int]]
:一爲int的標準列表元組
3
這不是實際的Python語法,所以不要嘗試在程序中使用它。也就是說,這是他們如何選擇表示泛型類型的類型參數。在泛型類型的repr
中,聲明的類型參數在類似Java的<>
尖括號中列出,並且在每個類型參數之前使用+
,-
或~
,具體取決於該參數是協變,逆變還是不是。
typing.List
接受名爲T
單個非協變,非逆變類型參數,所以它的名字後,得到了<~T>
。
您會注意到typing.Tuple
的名字後沒有任何<>
的東西。 Tuple
是一個奇怪的特例,因爲它需要可變數量的類型參數。
+0
''<~T>'/'<+T>'/'<-T>'從3.6開始,python消失了。它現在只是打印'typing.List [typing.Tuple [int]]',所以你看不到它的方差。我找不到與此相關的問題,否則我會要求將它恢復原狀:) – max
相關問題
- 1. 從字典<int,List <Tuple <string,object >>>到Dictionary <int,List <Tuple <string,object,AnEnum >>> with LINQ
- 2. List <JAXBElement <?是什麼?擴展SomeClassName >>的意思是?
- 3. Simply IEnumerable <int> to List <KeyValuePair <int, int>>?
- 4. list <myClass<int> *> sort
- 5. 爲什麼是List <>。OrderBy LINQ比IComparable + List <>更快。
- 6. List <int> to IEnumerable <IComparable>
- 7. Puppet中'if $ variable {}'的意思是什麼?</p> <pre><code>if $variable { do something } </code></pre> <p>這是什麼意思:
- 8. IDictionary <String,List <OpenXmlCompositeElement >> - 獲取List <OpenXmlCompositeElement>?
- 9. List <Map <String,List <>>> in BaseAdapter,Android
- 10. List <Map <String,String >> vs List <Object>
- 11. 什麼是什麼是一個使用</p> <p><code>javac -cp classes helloworld.java</code></p> <p>和</p> <p><code>javac -classpath classes helloworld.java</code></p> 在CMD <p>的區別-cp和-classpath
- 12. 這是什麼意思(計算中的<< and > >>)?
- 13. 什麼` 「</p> <pre><code>__m_uvm_status_container.scope.set_arg_element(`"ARG`",i); </code></pre> <p>什麼的<code>"ARG</code>在宏SV
- 14. 如何unordered_set <tuple <int,int>>?
- 15. 人<Person>,什麼是<Person>?
- 16. 爲什麼「testScores [」dave「]」的類型是「可選<Array<Int>> .Type」而不是「<Array<Int>> .Type」
- 17. 什麼是<script type =「text/javascript」><!--mce:0--></script>?
- 18. 爲什麼<textarea>顯示<>而不是< >?
- 19. 使用>>,>,> |,||,| <,<,<<,<<
- 20. matplotlib中的axes.flat是做什麼的?</p> <pre><code>for i, ax in enumerate(axes.flat): </code></pre> <p>這是什麼做的:
- 21. 浮動元素<br /><br /><br /><br /><br /\><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
- 22. convert <vector><string> TO <vector><int> C++,Win32
- 23. 如何將List <IEnumerable <ProductViewModel >>轉換爲<IEnumerable <ProductViewModel >>?
- 24. 爲什麼我們寫ArrayList <ArrayList <Integer>> list = new ArrayList <>();
- 25. if(<object> == <int>)
- 26. Post Map <String,List <String>>
- 27. Sort Map <String,List <Object[]>>
- 28. IList <InterfaceType>爲List <ImplementsInterfaceType>?
- 29. groovy中的地圖語法?</p> <pre><code>a[x,y] </code></pre> <p>是什麼意思:
- 30. 的MySQL/PHP:<code>id</code>,<code>name</code>,<code>category</code>和一個<code>ratings</code>表列:<code>id</code>,<code>item</code>,<code>rating</code>如何使用JOIN語句
你是什麼意思*「它來自哪裏」*? – jonrsharpe
'List <~T>'只是基於[源代碼](https://hg.python.org/cpython/file/3.5/Lib/typing.py#l489)的泛型類型'T'的列表' 〜'表示既不共同也不反對。 – jonrsharpe