FAQ

Questions

  1. Pourquoi Python?
  2. Quel est l'entier le plus grand ?
  3. Tabulations ou espace ?
  4. Télécharger une vidéo sur YouTube

Pourquoi Python?

Python est un langage de programmation très répandu aujourd’hui qui fut choisi à l”ENSAE en 2005 pour remplacer le C++. Dès la première année, il est apparu que ce nouveau langage permettait aux étudiants de mettre leurs idées plus rapidement en forme. Les opinions ont commencé alors un peu à changer à propos de la programmation. Il est très rare maintenant qu’un étudiant quitte une grande école d’ingénieurs sans programmer. Il a été choisi pour trois raisons. La première est sa syntaxe car il oblige les dévelopeurs à aligner leurs instructions ce qui rend les programmes plus lisibles. La seconde parce que sa grammaire est une des plus courte (voir aussi The Python Language Reference). Enfin, beaucoup de librairies existantes mais codées en C++ étaient déjà disponibles à l’époque. 10 ans plus tard, le langage est quasi incontournable dès qu’on touche au traitement de données.

(entrée originale : __init__.py:docstring of code_beatrix, line 3)

Quel est l’entier le plus grand ?

La version 3 du langage Python a supprimé la constante sys.maxint qui définissait l’entier le plus grand (voir What’s New In Python 3.0). De ce fait la fonction getrandbit retourne un entier aussi grand que l’on veut.

<<<

import random
import sys
x = random.getrandbits(2048)
print(type(x), x)

>>>

    <class 'int'> 19885916617723375384929529003519788966295138029828406896378476076403175712878531879957009154543871619428368713318034672794183240304050383902804422354373986633880225092942079288184052178896558515451434241631550246042905665307329561252350947113349040341265274991334496720625492439167849638714075633041915229204001007488768973562096255674273272871055512756565351064691773142426274962209870944774398745705746532883378610618316450872092170723716320266515754202874426864994325922848300886631034312426841870310114517127761174054503393703788365065338752932468483925205159238355881692257151844802973938097805471465895292617557

Les calculs en nombre réels se font toujours avec huit octets de précision. Au delà, il faut utiliser la librairie gmpy2. Il est également recommandé d’utiliser cette librairie pour les grands nombres entiers (entre 20 et 40 chiffres). La librairie est plus rapide que l’implémentation du langage :epkg:`Pythonè (voir `Overview of gmpy2 <https://gmpy2.readthedocs.org/en/latest/overview.html>`_).

(entrée originale : faq_python.py:docstring of code_beatrix.faq.faq_python.instruction_pass, line 3)

Tabulations ou espace ?

Il est préférable de ne pas utiliser les tabulations et de les remplacer par des espaces. Lorsqu’on passe d’un Editeur à un autre, les espaces ne bougent pas. Les tabulations sont plus ou moins grandes visuellement. L’essentiel est de ne pas mélanger. Dans SciTe, il faut aller dans le menu Options / Change Indentation Settings… Tous les éditeurs ont une option similaire.

(entrée originale : faq_python.py:docstring of code_beatrix.faq.faq_python.instruction_pass, line 26)

Télécharger une vidéo sur YouTube

Le module pytube permet de télécharger une vidéo youtube. Chaque vidéo est disponible selon plusieurs format dont on récupère la liste avant de choisir qui correspond à celui voulu.

from pytube import YouTube
yt = YouTube('https://www.youtube.com/watch?v=tRFHXMQP-QU')
st = yt.streams
fil = st.filter(mime_type="video/mp4", res="720p")
fil.first().download()

(entrée originale : video.py:docstring of code_beatrix.art.video.download_youtube_video, line 11)