Les tutoriels d'apprentissage Python relayés par votre cercle d'amis ont été oubliés dans vos favoris ? L'auteur original, William Koehrsen, est un chercheur appliqué en science des données et finaliste de l'ultramarathon. Cet article est son expérience d'introduction à l'apprentissage de Python, qui peut vous aider si vous n'avez pas encore agi.
Je me souviens de mon premier programme Python
Par nostalgie, je souhaite partager mon premier programme Python il y a deux ans. J'ai d'abord appris Python en tant qu'étudiant en génie aérospatial qui voulait éviter d'apprendre les feuilles de calcul, et je ne savais pas pourquoi j'avais choisi Python.
Mon éducation Python a commencé avec le livre d'Al Sweigart "Automated the Boring Stuff with Python", qui est un excellent livre d'introduction à la programmation qui vous apprend à utiliser des programmes simples pour effectuer des tâches utiles. Lorsque je prends un nouveau cours, je recherche des opportunités de l'utiliser et j'essaie de résoudre un nouveau problème en Python.
Avant la première mission, j'avais très hâte d'obtenir ce livre à 200 $, mais je ne pouvais même pas me permettre le loyer de 20 $. J'ai vu qu'Amazon avait une possibilité d'essai gratuit d'une semaine, j'ai donc eu le droit d'utiliser le livre pendant une semaine via Amazon et j'ai terminé les devoirs. Même si je pourrais créer un nouveau compte à chaque fois que j’en ai besoin, ce serait trop compliqué. J'ai trouvé un moyen plus efficace de programmer en utilisant Python.
L'une des nombreuses bibliothèques utiles d'Automate the Boring Stuff est pyautogui, qui vous permet de contrôler le clavier et la souris via Python. Certains disent que quand on a un marteau, chaque problème ressemble à un clou.
Python et pyautogui me permettront d'appuyer sur les touches fléchées et de prendre des captures d'écran, résolvant ainsi le "problème de visualisation gratuite et illimitée des livres".
J'ai écrit le premier programme pour parcourir automatiquement chaque page du livre et prendre des captures d'écran. Même s'il n'y a que 10 lignes, je suis très fier !
Voici tout le contenu de ce code :
Importer pyautogui
Importer le temps
#Dormir 5 secondes pour me permettre d'ouvrir le livre
sleep.leep(5)
# La plage peut être modifiée en fonction du nombre de pages (1000) :
pour i dans la plage(1000) :
# Tourner la page
pyautogui.keyDown('right')
pyautogui.keyUp('right')
# Enregistrer la capture d'écran
pyautogui.screenshot(' images/page_%d.pdf' %i)
time.sleep (0.05)
L'exécution du programme est très simple (j'encourage tout le monde à l'essayer). J'ai enregistré le script sous book_screenshot.py, puis j'ai affiché une invite de commande dans le même dossier et j'ai tapé :
python book_screenshot.py
Ensuite, j'aurais 5 Retourner le livre en quelques secondes et amenez-le en plein écran. Le programme fait le reste, en parcourant chaque page et en prenant des captures d'écran qui sont enregistrées au format PDF. Je peux ensuite fusionner tous les fichiers pdf en un seul fichier et avoir une copie (bien que d’une légalité douteuse) du livre ! Certes, il s'agit d'une copie qui ne respecte pas assez le droit d'auteur, mais c'est la méthode que je dois adopter pour lire le livre.
Cet exemple montre deux points clés pour que j'apprenne de nouvelles compétences :
1. La meilleure façon d'acquérir de nouvelles compétences est de trouver le problème qui doit être résolu !
2. Vous n’avez pas besoin de maîtriser complètement une compétence pour qu’elle soit utile.
Avec seulement quelques lignes de code et un livre en ligne gratuit, j'ai écrit un programme que j'utilise réellement. Apprendre les bases peut être fastidieux car je m'enlise dans les structures de données et les boucles. Ma première tentative d'apprentissage de Python a échoué en quelques heures. Mais lorsque j’ai changé de stratégie et commencé à développer des solutions à des problèmes du monde réel, j’ai fini par apprendre quelques principes de base.
Il y a beaucoup de choses à maîtriser dans le monde de la programmation et de la science des données, mais vous n'avez pas besoin de tout apprendre en même temps. Choisissez un problème que vous devez résoudre et lancez-vous !