[Python] Decouvrir

Répondre
Partager Rechercher
Bonjour,

Alors voila depuis plusieurs semaines ( 3 ) je commence a decouvrir Python pour mon propre plaisir en essayant de grapiller des tuto ici et la, et principalement en m'amusant sur codeacademy ().

Je sais qu'ici il y a des dev' pro qui trainent, et je me demandais comment apprendre de facon serieuse Python, en ayant a disposition un mac et pas d'argent pour acheter des livres/tuto a 400€. Apres quelques recherches je trouve aussi des 'packages' a télécharger pour les utiliser et du coup je pense que c'est des fonctions/tools que on peut telecharger afin de les utiliser dans son code un peu comme les maths quand on fait une extract pour utiliser genre sqrt. ou log. - c'est bien ca ?

Merci d'avance !

D.
Pour ce qui est des packages, le mieux est d'utiliser un outil en ligne de commande (Utilitaire -> terminal) qui s'appelle "pip". Il est présent de base dans les dernières version de Python3. Cet outil installe proprement les packages désirés. Plus tard, il te serait très utile quand tu utiliseras les virtualenv. Sur OSX, pip te demandera d'installer Xcode, que tu trouveras gratuitement dans le Mac App Store.

Le mieux, après avoir fait quelques tutoriaux, est de se fixer des petits projets, et se forcer à les terminer. Au fur et à mesure, tu prendras en main le langage, tu découvriras la librairie standard, et tu apprendras à faire des architectures "propres". Je précise bien que les projets doivent être "petits": l'idée c'est qu'en quelques heures/jours, tu arrives à quelque chose d'utilisable: c'est bon pour le moral. Un projet trop gros te démotivera.

Bienvenu
Le mieux c'est effectivement de faire des petits projets. Si t'as des idées de ce que tu vas faire de python essaie de le mettre en pratique, la documentation officielle est bien foutue et au pire il y a une gigantesque communauté (si t'arrives pas à faire un truc il y a presque 100% de chances que la solution se trouve sur le net).

Tu peux commencer par faire des petits scripts du genre manipulation des dossiers/fichiers pour te rendre compte à quel point c'est facile de coder ce genre de trucs. Si tu fais du traitement d'images tu peux tenter de faire des petits scripts pour gimp, c'est pas trop compliqué et c'est plutôt bien documenté. A titre personnel je m'en sert pour faire du data mining (bouh pas bien je sais) et pour faire des requêtes http (avec le module requests c'est aussi facile que du jQuery). Bref, les possibilités sont presque infinies. Le python c'est bon !
Merci Tomne ce site a l'air bien sympa car c'est vrai que j'ai pas envie de m'eparpiller et je cherchais un site assez consistant pour pouvoir y rester et apprendre au fur et a mesure.

J'aurais surement pas mal de questions mais je vais deja faire ca (j'ai aussi entamer l'openclassroom session) pour le moment je n'ai aucune base a part deux trois notions de voca et faire des fonctions ridicules, donc je peux pas trop me lancer meme dans un petit projet mais j'espere bien y arriver tres vite !
Il y a https://www.checkio.org/ qui est organisé comme un jeu (spoiler : c'est quand même du code), ça peut t'intéresser. De mémoire c'est quand même très vite assez dur si tu veux une solution opti.

J'ai aussi un très bon souvenir de http://www.learnpython.org/, qui fournissait une transition très sympa après Codecademy en introduisant à des trucs un peu plus spécifiques (je pense aux "Advanced tutorials").

(après en programmation ce sont pas les ressources pour débutants qui manquent)
Citation :
Publié par Tomne
Bon j'ai bientot fini je suis a l'exo 35 - j'ai eu moins de temps ces dernieres semaines avec pas mal de trucs a droite a gauche (mais au final j'arrive a tres bien assimiler), puis maintenant que j'ai decouvert PyCharm que j'ai gratuitement grace a mon email etudiant c'est un petit plaisir en plus.

Par contre avoir du petit VBA (travaillant sur un projet en parallele pour expand l'utilisation de VBA) au taff, j'essaie de pas trop m'embrouiller bien que ca soit vraiment tres similaire sur les formules.


Citation :
Publié par Heathcliff
J'ai aussi un très bon souvenir de http://www.learnpython.org/, qui fournissait une transition très sympa après Codecademy en introduisant à des trucs un peu plus spécifiques (je pense aux "Advanced tutorials").
J'espere attaquer ca des ce week-end au passage, j'ai decouvert quantopian qui est vraiment pour un niveau advanced/expert, ca donne bien envie et meme par curiosite on apprend pas mal de truc !

P.S J'ai vraiment du mal avec le while True quand meme genre sur cet exo

Code:
def bear_room():
    print "There is a bear here."
    print "The bear has a bunch of honey."
    print "The fat bear is in front of another door."
    print "How are you going to move the bear?"
    bear_moved = False

    while True:
        choice = raw_input("> ")

        if choice == "take honey":
            dead("The bear looks at you then slaps your face off.")
        elif choice == "taunt bear" and not bear_moved:
            print "The bear has moved from the door. You can go through it now."
            bear_moved = True
        elif choice == "taunt bear" and bear_moved:
            dead("The bear gets pissed off and chews your leg off.")
        elif choice == "open door" and bear_moved:
            gold_room()
        else:
            print "I got no idea what that means."
J'ai du mal a saisir, on initie le bear_moved = False et apres on a while True, mais vu que des le depart c'est false comment on peut avoir un loop en while true ?

Dernière modification par Deathlight ; 05/09/2015 à 11h45.
Alors je fais pas de Python mais d'après ce que je vois, on s'en fout de la variable bear_moved pour entrer dans la boucle while. La condition d'entrée et de continuation de la boucle sera toujours vrai.

Pour moi si la boucle voulait utilisé la variable bear_moved comme élément de condition, y'aurais eu écris -> "while bear_moved :".

Pour moi le seul moyen de sortir de la boucle là, c'est de faire un break. (Ou équivalent en Python)

Après ya ptêt une lecture différente en Python...
Effectivement, bear_moved ne te servira que pour accéder à la condition qui enclenchera "gold_room". Le "while true" c'est assez idiomatique lorsque tu cherches à faire une boucle infinie (qui lira en permanence ou tourne jusqu'à l'arrêt du programme, typiquement un serveur web qui attend des requêtes), le seul intérêt est de continuer à lire l'input jusqu'à ce que le résultat corresponde à quelque chose de prévu. On peut supposer que gold_room et dead vont lancer une exception qui permettra de sortir de la boucle.

Après je suis très loin d'être un expert en python, mais ça me parait le plus raisonnable =)
Ah punaise, je comprends mieux la boucle la, je viens de me la décortiqué en lisant vos commentaires, en fait je voulais reproduire un while-loop et j'arrivais pas a le visualiser mais maintenant je comprends mieux !

Meme en le runnant j'arrivais pas a voir que en fait ca faisait bien une boucle et reprenait tous les if/elif/else et je pensais qu'il ne prenait que les deux derniers, mais en fait non, je me sens moins bête

Merci
Un autre idée qui me vient comme ça : Django.

C'est un framework 100% python pour faire des application Web (genre un petit site en local etc...). C'est assez technique, surtout pour un débutant (genre virtualenv, comme dit plus haut), mais tu peux arriver a faire des trucs sympa assez facilement.
C'est pas les tutos qui manque sur le net, vue le nombre de gros site qui utilise cette techno (genre Youtube, Reddit et d'autres). Et vue que c'est que du python, c'est sûrement un bon moyen d'apprendre le langage .
Citation :
Publié par Thrim
le seul intérêt est de continuer à lire l'input jusqu'à ce que le résultat corresponde à quelque chose de prévu. On peut supposer que gold_room et dead vont lancer une exception qui permettra de sortir de la boucle.

Après je suis très loin d'être un expert en python, mais ça me parait le plus raisonnable =)
Utiliser une condition c'est trop compliqué ?
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés