You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

01-none.rst 2.0 KiB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. None
  2. ====
  3. Définition
  4. -----------
  5. ``None`` est une "valeur magique" natif en python. il est toujours présent, et il est unique.
  6. Un peu comme ``True`` et ``False`` qui sont deux valeurs qui servent à représenter tous les booléens.
  7. Représenter l'absence
  8. ----------------------
  9. L'interpréteur intéractif n'affiche rien quand la valeur est None::
  10. >>> a = 42
  11. >>> a
  12. 42
  13. >>> b = None
  14. >>> b
  15. Retourner None
  16. ----------------
  17. En réalité, *toutes* les fonctions pythons retournent *quelque chose*, même quand
  18. elle ne contiennent pas le mot-clé ``return``.::
  19. def ne_renvoie_rien():
  20. print("je ne fais qu'afficher quelque chose")
  21. >>> resultat = ne_renvoie_rien()
  22. "je ne fais qu'afficher quelque chose"
  23. >>> resultat
  24. Opérations avec None
  25. ---------------------
  26. La plupart des fonctions que nous avons vues échouent si on leur passe ``None``
  27. en argument::
  28. >>> len(None)
  29. TypeError: object of type 'NoneType' has no len()
  30. >>> None < 3
  31. TypeError: '<' not supported between instances of
  32. 'NoneType' and 'int'
  33. >>> int(None)
  34. TypeError: int() argument must be a string,
  35. a bytes-like object or a number,
  36. not 'NoneType'
  37. >>> str(None)
  38. 'None'
  39. Example d'utilisation
  40. ----------------------
  41. .. code-block:: python
  42. def trouve_dans_liste(valeur, liste):
  43. for element in liste:
  44. if element == valeur:
  45. return element
  46. return None
  47. >>> trouve_dans_liste(2, [1, 2, 3])
  48. 2
  49. >>> trouve_dans_liste(False, [True, False])
  50. False
  51. >>> trouve_dans_liste(1, [3, 4])
  52. None est Falsy, et on peut vérifier si une variable vaut ``None`` avec ``is None``::
  53. # hypothèse: `ma_valeur` n'est pas None
  54. mon_element = trouve_dans_liste(ma_valeur, ma_liste)
  55. if mon_element is None:
  56. print("élément absent de la liste")
  57. if not mon_element:
  58. # Peut-être que l'élément n'était pas dans la liste,
  59. # ou peut-être y était-il, mais avec une valeur falsy
  60. ...