Outils pour utilisateurs

Outils du site


python:annotations

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
python:annotations [2019/07/21 19:38] – créée rootpython:annotations [2020/04/18 12:52] (Version actuelle) root
Ligne 1: Ligne 1:
 ====== Annotations ====== ====== Annotations ======
 +  * https://mypy.readthedocs.io/en/latest/cheat_sheet_py3.html
   * https://zestedesavoir.com/tutoriels/954/notions-de-python-avancees/2-functions/2-annotations-signatures/   * https://zestedesavoir.com/tutoriels/954/notions-de-python-avancees/2-functions/2-annotations-signatures/
   * https://docs.python.org/3/library/typing.html   * https://docs.python.org/3/library/typing.html
 +  * https://medium.com/@yothinix/python-type-annotation-and-why-we-need-it-91820a708170
  
 En python il est possible de faire des annotations: En python il est possible de faire des annotations:
Ligne 12: Ligne 13:
  
 Le module **typing** présente une collection de classes pour composer des types. Ce module a été introduit dans Python 3.5, et n’est donc pas disponible dans les versions précédentes du langage. Le module **typing** présente une collection de classes pour composer des types. Ce module a été introduit dans Python 3.5, et n’est donc pas disponible dans les versions précédentes du langage.
- 
  
 Dans notre fonction addition, nous voudrions en fait que les int, float et complex soient admis. Nous pouvons pour cela utiliser le type Union du module typing : Dans notre fonction addition, nous voudrions en fait que les int, float et complex soient admis. Nous pouvons pour cela utiliser le type Union du module typing :
Ligne 27: Ligne 27:
   * **List[str]** : Une liste de chaînes de caractères ;   * **List[str]** : Une liste de chaînes de caractères ;
   * **Sequence[str]** :  Une séquence (liste/tuple/etc.) de chaînes de caractères ;   * **Sequence[str]** :  Une séquence (liste/tuple/etc.) de chaînes de caractères ;
-  * **Callable[[str, int], str]** : Un callable prenant deux paramètres de types //str// et //int// respectivement, et retournant un objet //str//+  * **Callable<nowiki>[[str, int], str]</nowiki>** : Un callable prenant deux paramètres de types //str// et //int// respectivement, et retournant un objet //str// 
 + 
 +<code python> 
 +def foo(arg: Optional[int] = None) -> None: 
 +    ... 
 +</code> 
 + 
 +<code python> 
 +def foo(arg: Optional[List[Union[int, str]]] = None) -> None: 
 +    ... 
 +</code> 
  
 <code python> <code python>
python/annotations.1563737897.txt.gz · Dernière modification : 2019/07/21 19:38 de root