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 :

Pourquoi : <class 'NoneType'>


Sujet :

Python

  1. #1
    Nouveau membre du Club Avatar de temabul
    Homme Profil pro
    Informatique de Loisir
    Inscrit en
    Février 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Informatique de Loisir

    Informations forums :
    Inscription : Février 2015
    Messages : 26
    Points : 31
    Points
    31
    Par défaut Pourquoi : <class 'NoneType'>
    Bonjour,
    Je sais, je n'aurais pas dû définir cette liste l2 ainsi.
    Mais celà m'a permis de découvrir un objet "sans type"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    >>> l1 = [21, 5, 10, 3, 7]
    >>> l2 = l1.sort()
    >>> l1
    [3, 5, 7, 10, 21]
    >>> l2
    >>> type(l2)
    <class 'NoneType'>
    Je me demande:
    1- pourquoi Python ne m'a pas dit erreur quand j'ai envvoyé l2 = l1.sort() ?
    2- y-a-t'il beaucoup de façon de creer ces objets sans type ?
    3- Cela peut-il être utile et pour quoi faire ?
    Merci pour vos réponses.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 329
    Points : 36 848
    Points
    36 848
    Par défaut
    Salut,

    Citation Envoyé par temabul Voir le message
    1- pourquoi Python ne m'a pas dit erreur quand j'ai envvoyé l2 = l1.sort() ?
    Avec Python, toutes les fonctions/méthodes retournent None ou autre chose.
    Et toutes les méthodes qui modifient un objet "mutable" (comme une liste) retournent None (les méthodes appliquées aux objets non-mutables - chaine de caractères - retournent le nouvel objet).
    Dans votre cas, l2 = sorted(l1) retourne une nouvelle liste triée sans toucher à l'original.

    2- y-a-t'il beaucoup de façon de creer ces objets sans type ?
    Un objet sans type n'existe pas! Et il n'y a qu'un seul objet de type None, c'est None.

    3- Cela peut-il être utile et pour quoi faire ?
    Parce que çà permet de faire la différence entre quelque chose et rien (l'ensemble vide vous connaissez quand même).

    - W

  3. #3
    Nouveau membre du Club Avatar de temabul
    Homme Profil pro
    Informatique de Loisir
    Inscrit en
    Février 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Informatique de Loisir

    Informations forums :
    Inscription : Février 2015
    Messages : 26
    Points : 31
    Points
    31
    Par défaut
    Ok merci pour cette réponse rapide.
    Mon problème : j'ai traduit NoneType par objet d'aucun type alors que ce n'est que l'objet "None".

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

Discussions similaires

  1. pourquoi la classe color1 n'est pas prise en compte ?
    Par laurentSc dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 20/08/2010, 09h45
  2. Pourquoi une classe a la place d'une fonction
    Par pierrot10 dans le forum Langage
    Réponses: 5
    Dernier message: 26/01/2010, 08h25
  3. Pourquoi utiliser Class.forName().newInstance()
    Par menzlitsh dans le forum Langage
    Réponses: 4
    Dernier message: 27/07/2007, 14h00
  4. je ne cprds pas pourquoi ma classe implements ActionListener
    Par poulette3000 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 16/05/2007, 11h52

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