Types intégrés Python et problèmes courants


Les types de données intégrés de Python sont très riches et peuvent être grossièrement divisés en cinq catégories : aucun, types numériques, types de séquence, types de mappage et types de collection. Ci-dessous, je vais les présenter respectivement et faire un résumé pour référence future. Le tableau suivant répertorie les types de données spécifiques sous chaque catégorie. *Remarque : le contenu abordé dans cet article est basé sur python2 et python3 sera quelque peu différent*.

1.png

1.None

None représente un objet nul, qui est un objet vide. Si une fonction ne renvoie pas de valeur, un objet nul est renvoyé. None n'a aucun attribut et représente False dans les expressions booléennes.

2. Types numériques

À l'exception des types booléens, tous les types numériques sont signés. La plage de représentation des entiers est comprise entre -2147483648 et 2147483647, et les entiers longs peuvent représenter n'importe quelle longueur, limitée uniquement par la taille de la mémoire disponible.


#整数i = 123i = int(123)#长整数l = 123Ll = long(123)

Le nombre à virgule flottante est un type double précision (64 bits), qui est identique au double en langage C. La plage de valeurs est de -1,7*10(-308) à 1,7*10(308).

f = 12.3f = float(12.3)

Les nombres complexes sont représentés à l'aide d'une paire de nombres à virgule flottante, divisés en parties réelles et imaginaires, accessibles à l'aide de real et imag, et la partie imaginaire est suffixée par j ou J.

c = 1.0 + 2.3jc = complex(1.0, 2.3)print c.real,c.imag

Les valeurs booléennes n'ont que deux valeurs : True et False, qui sont mappées respectivement sur les entiers 1 et 0.

b = Falseb = bool(True)


2.1. Opérations numériques

En plus des types booléens, les opérations qui peuvent être utilisées pour int, long, float et complexe sont : l'addition, la soustraction, la multiplication, la division, la division entière, l'exponentiation et le reste. Des exemples sont donnés ci-dessous.


>>> 1 + 2 # 加法3>>> 1 - 2 # 减法-1>>> 2 * 3 # 乘6>>> 2 / 4 # 整数除0>>> 2 / 4.0 # 浮点除0.5>>> 3 // 2.0 # 整除1.0>>> 2 % 3 # 取余2>>> 3 ** 2 # 幂运算 =3^29

Vous pouvez également effectuer des opérations sur les bits sur des entiers. Il existe 6 types d'opérations sur les bits : négation (~), décalage à gauche (<<), décalage à droite (>>), OU exclusif (^). , appuyez sur Bitwise OR (|), bitwise AND (&).

>>> ~1 # 1取反后为-2的补码-2>>> 8 << 1 # 左移16>>> 8 >> 2 # 右移2>>> 1 ^ 3 # 01 和 11 异或得到10,就是22>>> 1 | 3 # 01 和 11 位或得到11,就是33>>> 1 & 3 # 01 和 11 位与得到01,就是11

Les types booléens peuvent être évalués via des expressions booléennes. Il existe 6 opérateurs de comparaison booléens : inférieur à (<), inférieur ou égal à (<=), supérieur à (>), supérieur ou égal à ( >=), égal à (==), différent de (!=).

>>> 1 < 2True>>> 1 <= 2True>>> 1 > 2False>>> 1 >= 2False>>> 1 == 2False>>> 1 != 2True

Les opérations logiques peuvent également être effectuées sur les types booléens. Il existe trois types d'opérations : NON logique (non), NON-OU logique (ou) et ET logique (et).

>>> not TrueFalse>>> True or FalseTrue>>> True and FalseFalse


2.2. Fonctions de type numérique couramment utilisées

abs() : renvoie la valeur absolue d'un objet donné.


>>> abs(-2)2

divmod() : combine les opérations de division et de reste, renvoyant un tuple contenant le quotient et le reste.

>>> divmod(10, 3)(3, 1)

pow() : deux paramètres, fonctionnement en puissance. Trois paramètres, prenez le reste après exponentiation.

>>> pow(2, 5),pow(2, 5, 10)(32, 2)

round() : arrondi

>>> round(3.4),round(3.6)(3.0, 4.0)

floor() : arrondi vers le bas, ceil() : arrondi vers le haut, sqrt() : racine carrée, nécessite un module mathématique.

>>> from math import floor,ceil,sqrt>>> floor(3.6),ceil(3.6),sqrt(9)(3.0, 4.0, 3.0)

conjugate() : Nombres complexes conjugués

>>> c = 2 + 3j>>> c.conjugate()(2-3j)


3. Type de séquence

La séquence représente une collection ordonnée d'objets avec des index non négatifs, y compris des chaînes, des listes et des tuples. Les chaînes sont des séquences de caractères, les listes et les tuples sont des séquences d'objets arbitraires. Les chaînes et les tuples sont immuables, tandis que les listes peuvent être insérées, supprimées et remplacées. Toutes les séquences prennent en charge l'itération.

3.1. Chaînes

Créer une chaîne est simple, mais il existe de nombreuses façons de représenter une chaîne.


s = 'string's = "string" # 和上面单引号一样s = '''string''' # 三引号之间的内容都被保留,用于多行输入s = r"string" # 原生字符,关掉字符串中的转义。s = u"string" # unicode字符串

Il existe de nombreuses méthodes pour les chaînes, mais elles ne modifieront pas le contenu de la chaîne. Les méthodes couramment utilisées sont celles indiquées dans le tableau ci-dessous.

2.png

À titre d'exemple de format, {0} représente la première valeur de *args et {name} représente la valeur de name en kwargs.
>>> "Here is {0},I'm {name}.".format("wuyuans.com", name="wuyuan")"Here is wuyuans.com,I'm wuyuan"


3.2. Listes et tuples

Le contenu de la liste est variable et peut contenir n'importe quel objet, représenté par des crochets.
Le contenu du tuple est immuable et peut contenir n'importe quel objet, représenté par des parenthèses.


l = [1, 2, 3, '4', '5'] # 列表l = list((1, 2, 3, '4', '5'))t = (1, 2, 3, '4', '5') # 元组t = tuple("1234")

Les méthodes de la liste sont principalement utilisées pour modifier le contenu à l'intérieur. Les méthodes couramment utilisées de la liste sont répertoriées ci-dessous.

3.png

Vous pouvez également supprimer des éléments de la liste par index.
>>> l = [1, 2, 3, 4, 5]>>> del l[1]>>> l[1, 3, 4, 5]


3.3. Opérations courantes sur les séquences

Toutes les séquences sont accessibles par index L'index du premier élément est 0, -1 est le dernier élément, -2 est l'avant-dernier élément, et ainsi de suite.
Opération de découpage : spécifiez la plage d'index et renvoyez la sous-séquence correspondante.
Il en existe également quelques-unes couramment utilisées, comme indiqué ci-dessous


>>> t = (1, 2, 3, 4, 5)>>> l = [1, 2, 3, 4, 5]>>> t[0]1>>> t[1:4] # 索引1~4(2, 3, 4)>>> t[1:4:2] # 索引1~4,步进为2(2, 4)>>> len(t) # 序列长度5>>> max(t) # 最大值5>>> min(t) # 最小值1>>> sum(t) # 序列求和15


3.4. Les opérations de découpage ne peuvent pas être utilisées sur des objets xrange. L'objet xrange est créé par la fonction xrange([i, ] j [, stride]), où i est la valeur de départ et stride est la valeur du pas.


>>> x = xrange(1,10,2)>>> for i in x: print i    13579


4. Type de mappage

Dictionary (dict) est le seul type de mappage intégré de Python. Tout objet immuable peut être utilisé comme valeur clé du dictionnaire, comme des chaînes, des nombres, des tuples, etc. Les dictionnaires sont représentés par des accolades, les clés et les valeurs sont séparées par des deux-points et chaque valeur clé est séparée par des virgules. Les objets cartographiques ne sont pas ordonnés.


d = dict((['name', 'wuyuan'], ['age', 23]))d = {'name': 'wuyuan', 'blog': 'wuyuans.com', 'age': 23}d['school'] = 'HDU' # 添加一项

Méthodes et opérations courantes des dictionnaires

Méthode de parcours du dictionnaire :
#使用键历遍for i in d:    print i,d[i]#使用键值历遍for k,v in d.items():    print k,v
4.png


5 Type de collection

Une collection est un ensemble non ordonné d'éléments uniques. La collection ne fournit pas d'opérations d'indexation ou de découpage. la collection peut être Changement, mais ce qui est mis à l’intérieur doit être immuable. Il existe deux types d'ensembles : les ensembles mutables (sets) et les ensembles immuables (freezensets).


s = set([1, 2, 3])fs = frozenset([1, 2, 3])

Méthodes et opérations générales des ensembles

5.pngMéthodes et opérations de l'ensemble de collections mutable

6.png


FAQ sur les types intégrés de Python

Quels sont les types de données intégrés de base de Python ?

Certains types de données de base, tels que : entier (nombre), chaîne, tuple, liste, dictionnaire et type booléen. Au fur et à mesure que les progrès de l'apprentissage s'approfondissent, tout le monde entrera en contact avec des types de données de plus en plus intéressants. Les débutants en Python peuvent d'abord comprendre ces types au début.


Quels sont les symboles correspondants aux types de données intégrés de base ?

1) Entier - int - nombre

Python a 5 types de nombres, le plus courant est le type entier. Par exemple : 1234, -1234

2) Type booléen - bool - représenté par le symbole ==

Le type booléen est un type numérique spécial Python Il n'a que deux valeurs : True et False Il est principalement utilisé pour. comparer et juger, le résultat est appelé une valeur booléenne. Par exemple : 3==3 donne True, 3==5 donne False

3) String - str - représenté par ' ' ou " "

Par exemple : 'www.phpcnpython.com' ou " hello"

4) Liste - liste - représentée par le symbole [ ]

Par exemple : [1,2,3,4]

5) Tuple - tuple - représenté par le symbole ( )

Par exemple : (' d',300)

6) Dictionnaire - dict - représenté par le symbole { }

Par exemple : {'name':'coco','country':'china'}


Lequel des Python Les types de données de base sont mutables et lesquels sont immuables ?

Types de données variables Python : list[], dictionnaire dict{}

Types de données immuables Python : int, string str' ", tuple tuple()