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 :

Opérateur fonction intégrée [:] ?


Sujet :

Python

  1. #1
    Membre très actif

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 211
    Billets dans le blog
    1
    Par défaut Opérateur fonction intégrée [:] ?
    Bonjour,

    Je m'essaye (douloureusement) à Python.

    J'ai, dans un fichier, cette définition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def cspseglength(sp1,sp2, tolerance = 0.001):
        bez = (sp1[1][:],sp1[2][:],sp2[0][:],sp2[1][:])
        return bezmisc.bezierlength(bez, tolerance)
    C'est un outil développé pour une extension dans Inkscape. Mais là n'est pas le problème.

    La question qui me taraude les neurones est la signification de [:] dans la ligne de la variable bez.

    Je retrouve également ce même groupe de 3 signes dans un autre outils défini dans le même fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    def cspbezsplit(sp1, sp2, t = 0.5):
        m1=tpoint(sp1[1],sp1[2],t)
        m2=tpoint(sp1[2],sp2[0],t)
        m3=tpoint(sp2[0],sp2[1],t)
        m4=tpoint(m1,m2,t)
        m5=tpoint(m2,m3,t)
        m=tpoint(m4,m5,t)
        return [[sp1[0][:],sp1[1][:],m1], [m4,m,m5], [m3,sp2[1][:],sp2[2][:]]]
    Ici aussi on retrouve [:] dans la valeur retournée par la fonction.

    Mais à quoi cela sert-il ?
    Dans ma bibliographie Python, j'ai trouvé cet groupe de signe qui est défini comme "opérateur de fonction intégrée". Mais rien sur son utilité.

    Qui peut m'aider ??

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

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Par défaut
    utiliser [:] permet de faire une copie de ton élement (en prenant tous les élements du premier au dernier).
    Sans [:]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> a = range(5)
    >>> a
    [0, 1, 2, 3, 4]
    >>> b=a
    >>> b
    [0, 1, 2, 3, 4]
    >>> b[2]='toto'
    >>> a
    [0, 1, 'toto', 3, 4]
    avec [:]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> a = range(5)
    >>> b = a[:]
    >>> b[2]= 'toto'
    >>> b
    [0, 1, 'toto', 3, 4]
    >>> a
    [0, 1, 2, 3, 4]

  3. #3
    Membre chevronné
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Mai 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 290
    Par défaut
    Bonjour,
    On utilise [:] pour faire une copie de la liste.
    sp1 et sp2 doivent être des listes de listes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    a=[[1,2],[3,4]]
    b=a[0][:]
    c=a[1]
    b.append(4)
    c.append(5)
    print a
    print b
    print c
    C'est rapide un ornithorynque !

  4. #4
    Membre très actif

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 211
    Billets dans le blog
    1
    Par défaut
    Merci les amis.
    A+

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

Discussions similaires

  1. SOS Fonctions intégrées ACCESS
    Par caroleRENOLIT dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/11/2007, 14h01
  2. Comment utiliser la fonction intégrée CMonnaie dans un module
    Par lynepicard dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/08/2007, 16h54
  3. Fonctions intégrées non-reconnues
    Par BjornDunkerbeck dans le forum Runtime
    Réponses: 8
    Dernier message: 10/07/2007, 09h55
  4. Exécution macro avec une fonction intégré
    Par kiwi31 dans le forum VBA Access
    Réponses: 13
    Dernier message: 22/05/2007, 16h18
  5. Réponses: 5
    Dernier message: 09/07/2006, 18h14

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