Maison  >  Article  >  développement back-end  >  Python prend-il en charge les caractères ?

Python prend-il en charge les caractères ?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-06-19 17:46:206645parcourir

Le troisième Zen de Python
Le simple vaut mieux que le complexe.
En Python, chaque caractère d'une chaîne occupe 8 bits d'espace.

Python prend-il en charge les caractères ?

>>> import sys
>>> sys.getsizeof('')
37
>>> sys.getsizeof('a')
38

Comme vous pouvez le voir, le caractère nul occupe 37 octets, et la chaîne 'a' d'une longueur de 1 occupe 38 octets de mémoire. un caractère de plus a Ensuite, il y a 1 octet de plus.

Recommandations associées : "Tutoriel vidéo Python"

Chaque caractère est stocké dans ob_sval, représentant une taille de 8 bits. Les 36 octets restants proviennent principalement. Macro PyObject_VAR_HEAD. En fait, l'implémentation de chaîne de Python utilise également une variable globale appelée *interned, qui peut stocker des chaînes d'une longueur de 0 ou 1, c'est-à-dire char, ce qui peut économiser de l'espace et accélérer.

En fait, il n'y a ni pointeurs ni "structures de données nues" (non-objets) en Python, même l'entier le plus simple, entier, est implémenté de cette façon.

En bref, cette conception satisfait la philosophie de conception de Python selon laquelle « tout est un objet » et « tout est aussi simple que possible ».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn