Comments on: En Python 3, le type bytes est un array d’entiers http://sametmax.com/en-python-3-le-type-bytes-est-un-array-dentiers/ 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/en-python-3-le-type-bytes-est-un-array-dentiers/#comment-16725 Fri, 06 Dec 2013 20:04:36 +0000 http://sametmax.com/?p=8160#comment-16725 @herison : array, c’est un module qui permet la création d’arrays contenant des types différents en Python. Arrays de float, de chars, de long, etc.

Effectivement, on peut imaginer une liste chaînée, sauf que les structures de données Python sont toutes de haut niveau. Même les arrays du module array sont pas de simples arrays.

Typiquement, une liste permet une collection d’objet hétérogènes. De plus, récupérer sa taille est une opération O(1) (https://wiki.python.org/moin/TimeComplexity). Donc les listes ne sont pas juste des arrays, il y a une couche par dessus.

Bref, l’auteur veut juste à tout prix faire son kéké devant ses élèves. J’ai horreur de ces profs.

]]>
By: Pi.0 http://sametmax.com/en-python-3-le-type-bytes-est-un-array-dentiers/#comment-16721 Fri, 06 Dec 2013 18:19:04 +0000 http://sametmax.com/?p=8160#comment-16721 Ça me fait penser quand j’avais du apprendre le pascal et qu’il fallait mettre deux index dans l’array

]]>
By: herison http://sametmax.com/en-python-3-le-type-bytes-est-un-array-dentiers/#comment-16700 Fri, 06 Dec 2013 14:26:35 +0000 http://sametmax.com/?p=8160#comment-16700 Et le
>>> import array

dans tout ça ?

Sinon pour les listes et les array si pour listes on pense à une implémentation par des listes chaînées

Pour un tableau, l’accès au énième élément est directe pour une liste, il faut parcourir tout les éléments. Ca change des choses pour l’ajout et la suppression si l’élément est en plein milieu ou aux extrémités.

En python pour avoir une liste (doublement) chainée il faut un collections.deque

Merci pour ce site, c’est vraiment sympa.

]]>
By: kontre http://sametmax.com/en-python-3-le-type-bytes-est-un-array-dentiers/#comment-16699 Fri, 06 Dec 2013 14:20:55 +0000 http://sametmax.com/?p=8160#comment-16699 @Sam: Le calcul numérique se fait en effet avec des arrays (c’est énormément plus rapide et plus efficace en mémoire), mais je ne pense pas que beaucoup de scientifiques utilisent des bytearray ou des bytes directement. Numpy a sa propre implémentation, qui a une API encore plus riche. Je sais que les données brutes sont stockées dans ce qu’ils appellent un buffer, mais je ne sais pas si ce buffer en question est un bytearray python.

]]>
By: Sam http://sametmax.com/en-python-3-le-type-bytes-est-un-array-dentiers/#comment-16686 Fri, 06 Dec 2013 11:49:54 +0000 http://sametmax.com/?p=8160#comment-16686 Une liste est juste un type d’array

Un array est une structure de données de bas niveau. La distance entre deux adresses de deux éléments voisins est constante dans tout l’array (généralement tous les éléments on le même type pour qu’ils prennent la même place).

Une liste est une séquence d’élément finie.

On voit bien que l’array est une question d’implémentation, la liste est une question de sémantique.

Maintenant, le point de l’auteur de l’article cité est biaisé, car il ne dit pas si il définit la liste du point de vue de l’implémentation (ni de laquelle), de l’API ou du concept sémantique.

A la fin il conclut de manière prétentieuse :

At this point, the student attains enlightment and starts applying for jobs in industry.

Personnellement, un mec comme ça, je le vire.

Il a visiblement plus de connaissance du monde papier que du code réel.

En php par exemple, le type Array ne représente pas du tout l’implémentation d’un array. Terme mal choisi ? Sans aucun doute. Raison d’écrire un article de 100 lignes et de faire chier ses élèves avec. Err…

Au final, on s’en branle. En Python, on appelle “liste” le type de base qui regrouper et parcourir un ensemble ordonné d’éléments dont la taille n’est pas connue par avance mais qui est finie.

bytearray et bytes sont bien des arrays par contre en Python, dans leurs implémentations et leurs api, bien que l’API soit plus riche que celle d’un array basique. Mais encore une fois, tu ne manipuleras presque jamais un array en Python. Seuls les programmeurs scientifiques ou de libs le feront. Dans la programmation de tous les jours, on utilise des listes, et c’est tout.

]]>
By: Krypted http://sametmax.com/en-python-3-le-type-bytes-est-un-array-dentiers/#comment-16684 Fri, 06 Dec 2013 11:03:25 +0000 http://sametmax.com/?p=8160#comment-16684 D’ailleurs je viens de tomber sur cet article :

J’avoue que je n’y ai pas compris grand chose. Quelle est la différence entre une liste et un array?

Je crois qu’en Java une liste est un type particulier d’array, mais j’ai dû mal à saisir ce que les listes ont en plus.

]]>
By: Sam http://sametmax.com/en-python-3-le-type-bytes-est-un-array-dentiers/#comment-16682 Fri, 06 Dec 2013 10:23:20 +0000 http://sametmax.com/?p=8160#comment-16682 Type byte toi moi-même.

]]>
By: Greizgh http://sametmax.com/en-python-3-le-type-bytes-est-un-array-dentiers/#comment-16681 Fri, 06 Dec 2013 10:17:01 +0000 http://sametmax.com/?p=8160#comment-16681 Merci de mettre en lumière les types bytes.
Et sinon: s/pour obtenir de un array de octets./pour obtenir un array d’octets.

]]>
By: Sam http://sametmax.com/en-python-3-le-type-bytes-est-un-array-dentiers/#comment-16679 Fri, 06 Dec 2013 08:37:32 +0000 http://sametmax.com/?p=8160#comment-16679 Indeed. Je corrige ça.

]]>
By: Recher http://sametmax.com/en-python-3-le-type-bytes-est-un-array-dentiers/#comment-16677 Fri, 06 Dec 2013 08:18:12 +0000 http://sametmax.com/?p=8160#comment-16677 Ah, téléscopage de commentaire avec Kontre. C’est beau la concomitance, des fois.

]]>