IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Passer de C++ à Python


Sujet :

Python

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 112
    Points : 76
    Points
    76
    Par défaut Passer de C++ à Python
    Salut tout le monde!

    Ca fait maintenant plus de 3 ans que je développe quasi exclusivement en C++ et je trouve que c'est un langage très performant mais trop souvent contraignant dans son utilisation...
    Aussi, lorsque j'ai découvert la puissance de python avec des librairies comme wxPython et python-ogre, j'en suis tombé amoureux!!
    Pour info, je suis étudiant en programmation de jeu vidéo et on a un projet de 6 mois à faire en fin d'année, je pense utiliser les librairies cité ci dessus pour leur flexibilité et leur simplicité d'utilisation.

    Mais voici mon problème : je ne sais pas coder en python!!! Ok, tout le monde va me dire que c'est 10 fois plus simple que le C++ et que je n'aurai pas de mal a m'y mettre etc. Mais justement, c'est TROP simple!! Le fait de ne pas avoir de type de donnée, de ne pas déclarer ses variables etc. Je m'y perd.
    Il y'a certes les cours de python disponibles sur ce site, mais je les trouvent un peu gros. Je me demandais s'il n'existait pas une sorte de "guide" pour passer du C++ à Python.
    Je vais bientôt avoir un bouquin sur python mais en attendant je voulais m'y mettre un peu, le prob c'est que je ne sais pas comment faire certaines choses.

    Par exemple, comment faire des "template" en python? Doit-on faire des accesseurs en python? Pleins de questions comme ça qui font que je n'arrive pas a transposer du code C++ en python.
    Je sais qu'il faut que j'enlève des choses mais ça me fait bizarre.
    Voici un code type que je n'arrive pas a transposer en Python (c'est l'entite d'une architecture entite/composant) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    #ifndef _ENTITY_H
     
    #define _ENTITY_H
    #include<string>
    #include<vector>
     
    #include "DataTypeGeneric.h"
    #include "Component.h"
     
    class CComponent;
    class CFactory;
    class CTreeNode;
     
    class CEntity
    {
    protected:
     
    	std::vector<CComponent*>	m_vComponents;
    	std::string					m_name;
     
    protected:
    	CEntity() {}
    public:
    	CEntity(std::string);
    	virtual ~CEntity();
            void setName(std::string _name) { m_name = _name;}
            inline const char* getName() const { return m_name.c_str(); }
            template<typename T> T* getComponent();
    	inline void addComponent(CComponent *_component) 
           {
               m_vComponents.push_back(_component); 
           }
          void update(int);
     
          static inline CEntity *create() { return new CEntity; }
     
    };
     
    template<typename T> T* CEntity::getComponent()
    {
    	CDataType<T>* ctype = new CDataType<T>();
    	std::vector<CComponent*>::iterator i;
    	for(i= m_vComponents.begin(); i < m_vComponents.end(); ++i)
     
    			return static_cast<T*>(*i);
            else
                std::cout << "Pas de composant" << std::endl;
    	}
    	return NULL;
    }
    #endif
    Ca doit vous paraître un peu bizarre comme message mais j'avoue être dans cette simplicité. Modifier des petits script ou ecrire des programmes simples, ça va, mais faire de l'objet avec des concepts assez pousser, j'ai du mal!

    Si une âme charitable voulait bien prendre le temps de m'expliquer certains concepts de bases ou simplement me guider vers un tutorial de qualité je vous en serait très reconnaissant .

    Sinon, je pense qu'avec du temps et de la lecture j'y arriverai un jour, mais c'était juste pour gagner un peu de temps.

    Merci de m'avoir lu,
    Bonne soirée,
    Andréas

  2. #2
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    L'aide fourni avec l'installation de python (C:\Python25\Doc\python25.chm sous win) peut être un bon départ pour toi.
    "Etre conscient de la difficulté permet de l'éviter.."
    Lao-Tseu.

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Points : 923
    Points
    923
    Par défaut
    Templates : Pas besoin, une fonction n'a pas besoin d'avoir une signature fixe (notamment en ce qui concerne les types)

    Accesseurs : Tu peux en faire mais ce n'est pas obligatoire, à toi de voir, voilà la documentation des classes : http://docs.python.org/ref/datamodel.html

    Un bon tuto, il y a celui de Swinnen, très complet http://python.developpez.com/cours/TutoSwinnen/

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 112
    Points : 76
    Points
    76
    Par défaut
    Merci pour vos réponses!
    En fait, j'avais même pas penser à regarder la doc officiel du langage!!

    Pour le tuto Swinnen, il est certes très complet mais je le trouvais trop gros pour une première approche.
    Je pense que je trouverai mon bonheur dans la doc officielle.

    Merci à vous

    A+
    Andréas

    EDIT : Waou!!! Je découvre la puissance de Python, c'est hallucinant comme on code bien plus vite et plus facilement qu'en C++!!!! En plus, un code équivalent dans les fonctionnalités va prendre 2 a 3 fois moins de place en Python!! J'adore .
    J'éspère juste que les perfs de python-ogre combiné a wxPython ne seront pas trop mauvaises.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Passer de C++ à Python
    Par deubelte dans le forum Général Python
    Réponses: 2
    Dernier message: 12/05/2010, 14h32
  2. passer un argument à un exe python qui tourne
    Par tchernobill dans le forum Général Python
    Réponses: 10
    Dernier message: 14/03/2009, 17h53
  3. Réponses: 7
    Dernier message: 18/04/2008, 20h07
  4. Réponses: 3
    Dernier message: 26/06/2006, 13h48
  5. Passer une variable python en javascript?
    Par Sayrus dans le forum Zope
    Réponses: 6
    Dernier message: 19/06/2006, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo