Comments on: Les annotations en Python 3 http://sametmax.com/les-annotations-en-python-3/ Du code, du cul Sat, 07 Nov 2015 11:08:18 +0000 hourly 1 http://wordpress.org/?v=4.1 By: Sam http://sametmax.com/les-annotations-en-python-3/#comment-16611 Thu, 05 Dec 2013 09:40:37 +0000 http://sametmax.com/?p=7602#comment-16611 Il n’y a pas de règle syntaxique sur les espaces qui soient rendues obligatoires par le langage.

Le PEP8 lui-même ne donne pas de règle mais :

The Python standard library will not use function annotations as that would result in a premature commitment to a particular annotation style. Instead, the annotations are left for users to discover and experiment with useful annotation styles.

C’est une fonctionnalité bac à sable, ne l’oublions pas.

]]>
By: JeromeJ http://sametmax.com/les-annotations-en-python-3/#comment-16602 Thu, 05 Dec 2013 00:27:08 +0000 http://sametmax.com/?p=7602#comment-16602 T’es sûr qu’il faut un espace après les “:” et avant l’annotation ?

Ça me paraît dégueu mais c’est peut-être moi qui me trompe, dans ce cas là, je serais déçu ! C’est mouche comme ça!

]]>
By: Sam http://sametmax.com/les-annotations-en-python-3/#comment-15646 Mon, 11 Nov 2013 18:39:48 +0000 http://sametmax.com/?p=7602#comment-15646 Après check, tu as raison. Je sais pas pourquoi j’ai clairement cette image des comments utiliser pour le typing. Je dois mixer deux projets, mais alors retrouver d’où ça vient…

]]>
By: Xavier Combelle http://sametmax.com/les-annotations-en-python-3/#comment-15644 Mon, 11 Nov 2013 17:43:12 +0000 http://sametmax.com/?p=7602#comment-15644 Si je me trompe pas RPython n’utilise pas les annotation, mais un sous ensemble de python suffisamment simple pour que l’inférence de type fonctionne.

]]>
By: swordofpain http://sametmax.com/les-annotations-en-python-3/#comment-15437 Wed, 06 Nov 2013 20:35:18 +0000 http://sametmax.com/?p=7602#comment-15437 Donc, si je suis bien, ça veut dire qu’il serait possible d’utiliser un décorateur pour faire de la validation de type automatique si on annote les types des paramètres ? Ça peut être sympa en effet :–)

]]>
By: roro http://sametmax.com/les-annotations-en-python-3/#comment-15436 Wed, 06 Nov 2013 18:46:35 +0000 http://sametmax.com/?p=7602#comment-15436 à Sekigo: AhAh ! coin coin miaou piou piou..Trop bon !

]]>
By: Sam http://sametmax.com/les-annotations-en-python-3/#comment-15435 Wed, 06 Nov 2013 18:38:42 +0000 http://sametmax.com/?p=7602#comment-15435 Ce qui suppose qu’on utilise du ABC partout, ce qui est fort relou. Python n’est pas Java.

]]>
By: Sekigo http://sametmax.com/les-annotations-en-python-3/#comment-15433 Wed, 06 Nov 2013 18:18:33 +0000 http://sametmax.com/?p=7602#comment-15433 Bonjour.

Pour le duck-typing, il ne sera pas “cassé” si on utilise intelligemment la vérification de type via une structure (à l’aide du module ABC) comme celle-ci:

# -*- coding: utf-8 -*-
from __future__ import unicode_literals, print_function, division
from abc import ABCMeta, abstractmethod
 
class Canard(object):
    __metaclass__ = ABCMeta
 
    @abstractmethod
    def coin_coin(self):
        return "coin_coin !"
 
    @classmethod
    def __subclasshook__(cls, C):
        if cls is Canard:
            if any("coin_coin" in B.__dict__ for B in C.__mro__):
                return True
        return NotImplemented
 
 
class Caneton(Canard):
    def coin_coin(self):
        return "piou-piou !"
 
 
class Chat(object):
    def coin_coin(self):
        return "miaou-miaou !"
 
 
def vieux_bigleux_qui_jette_bout_de_pain(canard):
    assert isinstance(canard, Canard)
    print(canard.coin_coin())
 
 
vieux_bigleux_qui_jette_bout_de_pain(Caneton())
vieux_bigleux_qui_jette_bout_de_pain(Chat())

Désolé, c’est un peu brut comme code (et c’est du python2.7), mais on peut imaginer vérifier le type canard via une instance. L’important étant qu’il ait les bonnes méthodes, qu’il soit réellement un canard, on s’en fout.
(J’espère que le code va être correctement indenté…)

]]>
By: roro http://sametmax.com/les-annotations-en-python-3/#comment-15424 Wed, 06 Nov 2013 13:07:10 +0000 http://sametmax.com/?p=7602#comment-15424 Qu’en est-il de l’annotation vide ?

]]>
By: Syl http://sametmax.com/les-annotations-en-python-3/#comment-15421 Wed, 06 Nov 2013 09:28:54 +0000 http://sametmax.com/?p=7602#comment-15421 @kontre: merci pour l’info!
S&M est aussi un excellent site pour amléiorer sa culture générale! ^^

]]>