Types de données de base Python3


Les variables en Python n'ont pas besoin d'être déclarées. Chaque variable doit se voir attribuer une valeur avant utilisation. La variable ne sera pas créée tant qu'une valeur ne lui sera pas attribuée.

En Python, une variable est une variable, elle n'a pas de type. Ce que l'on appelle "type" est le type de l'objet en mémoire auquel la variable fait référence.

Le signe égal (=) est utilisé pour attribuer des valeurs aux variables.

Le côté gauche de l'opérateur de signe égal (=) est un nom de variable, et le côté droit de l'opérateur de signe égal (=) est la valeur stockée dans la variable. Par exemple :

#!/usr/bin/python3

counter = 100          # 整型变量
miles   = 1000.0       # 浮点型变量
name    = "php"     # 字符串

print (counter)
print (miles)
print (name)


L'exécution du programme ci-dessus produira les résultats suivants :

100
1000.0
php

Attribuer plusieurs variables

Python vous permet d'attribuer valeurs à plusieurs variables en même temps Affectation des variables. Par exemple :

a = b = c = 1

Dans l'exemple ci-dessus, un objet entier est créé avec une valeur de 1 et trois variables sont allouées au même espace mémoire.

Vous pouvez également spécifier plusieurs variables pour plusieurs objets. Par exemple :

a, b, c = 1, 2, "php"

Dans l'exemple ci-dessus, deux objets entiers 1 et 2 sont affectés aux variables a et b, et l'objet chaîne "php" est affecté à la variable c.


Types de données standard

Il existe six types de données standard dans Python3 :

  • Nombre (nombre)

  • Chaîne (chaîne)

  • Liste (liste)

  • Tuple (tuple)

  • Ensembles (ensemble)

  • Dictionnaire (dictionnaire)


Nombre (numéro)

Prise en charge de Python3 int, float, bool, complexe (pluriel) .

Dans Python 3, il n'y a qu'un seul type entier int, qui est représenté comme un entier long. Il n'y a pas de Long dans python2.

Comme la plupart des langages, l'affectation et le calcul des types numériques sont intuitifs.

La fonction type() intégrée peut être utilisée pour interroger le type d'objet pointé par la variable.

>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>

Remarque : n'a pas de type booléen en Python2. Il utilise le nombre 0 pour représenter False et 1 pour représenter True. Dans Python 3, True et False sont définis comme des mots-clés, mais leurs valeurs sont toujours 1 et 0 et peuvent être ajoutées aux nombres.

Lorsque vous spécifiez une valeur, un objet Number est créé :

var1 = 1
var2 = 10

Vous pouvez également supprimer certaines références d'objet à l'aide de l'instruction del.

La syntaxe de l'instruction del est :

del var1[,var2[,var3[....,varN]]]]

Vous pouvez supprimer un ou plusieurs objets en utilisant l'instruction del. Par exemple :

del var
del var_a, var_b

Opérations numériques

>>> 5 + 4  # 加法
9
>>> 4.3 - 2 # 减法
2.3
>>> 3 * 7  # 乘法
21
>>> 2 / 4  # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
>>> 17 % 3 # 取余 
2
>>> 2 ** 5 # 乘方
32

Remarque :

  • 1. Python peut attribuer des valeurs à plusieurs variables. en même temps, comme a, b = 1, 2.

  • 2. Une variable peut pointer vers des objets de différents types par affectation.

  • 3. La division de valeurs numériques (/) renvoie toujours un nombre à virgule flottante. Pour obtenir un entier, utilisez l'opérateur //.

  • 4. Lors des calculs mixtes, Python convertira les entiers en nombres à virgule flottante.

Instance de type numérique

intfloatcomplex
100.03.14j
10015.2045.j
-786-21.99.322e-36j
08032.3+e18.876j
-0490-90.-.6545+0J
-0x260-32.54e1003e+26J
0x6970.2-E124.53e-7j

Python prend également en charge les nombres complexes. Un nombre complexe est composé d'une partie réelle et d'une partie imaginaire. Il peut être représenté par a + bj, ou complexe(a,b). un nombre complexe est tous deux de type à virgule flottante


String (string)

Les chaînes en Python sont entourées de guillemets simples (') ou de guillemets doubles ("), et les caractères spéciaux sont échappés en utilisant une barre oblique inverse ().

Le format syntaxique de l'interception de chaîne est le suivant :

变量[头下标:尾下标]

La valeur de l'index commence par 0 et -1 est la position de départ à partir de la fin

<. 🎜>Le signe plus (+) est le caractère. Le connecteur de chaîne, l'astérisque (*) signifie la copie de la chaîne actuelle, et le nombre qui le suit immédiatement est le nombre de copies. L'exemple est le suivant :

#!/usr/bin/python3

str = 'php'

print (str)          # 输出字符串
print (str[0:-1])    # 输出第一个个到倒数第二个的所有字符
print (str[0])       # 输出字符串第一个字符
print (str[2:5])     # 输出从第三个开始到第五个的字符
print (str[2:])      # 输出从第三个开始的后的所有字符
print (str * 2)      # 输出字符串两次
print (str + "TEST") # 连接字符串
<🎜. > L'exécution du programme ci-dessus produira le résultat suivant :

php
Runoo
R
noo
noob
phpphp
phpTEST

Python utilise une barre oblique inverse() pour échapper aux caractères spéciaux. Si vous ne souhaitez pas que la barre oblique inverse soit échappée, vous pouvez ajouter un r devant la chaîne. pour représenter la chaîne d'origine :

>>> print('Ru\noob')
Ru
oob
>>> print(r'Ru\noob')
Ru\noob
>>>

De plus, la barre oblique inverse ( ) peut être utilisée comme caractère de continuation de ligne pour indiquer que la ligne suivante est une continuation de la ligne précédente. Vous pouvez également utiliser

"" "...""

ou '''...'''. S'étendant sur plusieurs lignes. Notez que Python n'a pas de type de caractère distinct. Un caractère est une chaîne de longueur 1.

>>> word = 'Python'
>>> print(word[0], word[5])
P n
>>> print(word[-1], word[-6])
n P

est différent d'une chaîne C Malheureusement, les chaînes Python ne peuvent pas être modifiées. Attribuer une valeur à une position d'index telle que word[0] = 'm. ' provoquera une erreur

Remarque :

1. Les barres obliques inverses peuvent être utilisées pour s'échapper. Utilisez r pour empêcher les barres obliques inverses de s'échapper. 🎜>
  • 2. Les chaînes peuvent être connectées à l'aide de l'opérateur + Ensemble, utilisez l'opérateur * pour répéter

  • 3. Les chaînes en Python en ont deux. méthodes d'indexation, commençant par 0 de gauche à droite et commençant par -1 de droite à gauche

  • 4. >

  • List (List)
  • List ( List) est le type de données le plus fréquemment utilisé en Python

  • List peut compléter l'implémentation de la structure de données de la plupart des classes de collection. les types d'éléments dans la liste peuvent être différents, et elle prend en charge les nombres, les chaînes et même les listes (ce qu'on appelle l'imbrication

Une liste est une liste d'éléments écrits entre crochets ([]) et séparés). par des virgules. Comme les chaînes, les listes peuvent également être indexées et Interception, une fois la liste interceptée, une nouvelle liste contenant les éléments requis est renvoyée

Le signe plus (+) est la concaténation de la liste. opérateur, et l’astérisque (*) est l’opération de répétition. L'exemple suivant :

变量[头下标:尾下标]

Le résultat de sortie de l'exemple ci-dessus :

#!/usr/bin/python3

list = [ 'abcd', 786 , 2.23, 'php', 70.2 ]
tinylist = [123, 'php']

print (list)            # 输出完整列表
print (list[0])         # 输出列表第一个元素
print (list[1:3])       # 从第二个开始输出到第三个元素
print (list[2:])        # 输出从第三个元素开始的所有元素
print (tinylist * 2)    # 输出两次列表
print (list + tinylist) # 连接列表

Contrairement aux chaînes Python, les éléments de la liste peuvent être modifiés :

['abcd', 786, 2.23, 'php', 70.2]
abcd
[786, 2.23]
[2.23, 'php', 70.2]
[123, 'php', 123, 'php']
['abcd', 786, 2.23, 'php', 70.2, 123, 'php']

La liste a été construite. in Il existe de nombreuses méthodes, telles que append(), pop(), etc., qui seront abordées plus tard.

Remarque :

1 La liste est écrite entre crochets et les éléments sont séparés par des virgules.

2. Comme les chaînes, les listes peuvent être indexées et découpées.

3. La liste peut être épissée à l'aide de l'opérateur +.

  • 4. Les éléments de la Liste peuvent être modifiés.


Tuple

Un tuple est similaire à une liste, sauf que les éléments d'un tuple ne peuvent pas être modifiés. Les tuples sont écrits entre parenthèses (()) et les éléments sont séparés par des virgules. Les types d'éléments dans les

tuples peuvent également être différents :

>>> a = [1, 2, 3, 4, 5, 6]
>>> a[0] = 9
>>> a[2:5] = [13, 14, 15]
>>> a
[9, 2, 13, 14, 15, 6]
>>> a[2:5] = []   # 删除
>>> a
[9, 2, 6]

L'exemple de résultat de sortie ci-dessus :

#!/usr/bin/python3

tuple = ( 'abcd', 786 , 2.23, 'php', 70.2  )
tinytuple = (123, 'php')

print (tuple)             # 输出完整元组
print (tuple[0])          # 输出元组的第一个元素
print (tuple[1:3])        # 输出从第二个元素开始到第三个元素
print (tuple[2:])         # 输出从第三个元素开始的所有元素
print (tinytuple * 2)     # 输出两次元组
print (tuple + tinytuple) # 连接元组

Les tuples sont similaires aux chaînes et peuvent être indexés et indicés à partir de. 0, -1 est la position à partir de la fin. Une interception peut également être effectuée (voir ci-dessus, je n’entrerai pas dans les détails ici).

En fait, les chaînes peuvent être considérées comme un tuple spécial.

('abcd', 786, 2.23, 'php', 70.2)
abcd
(786, 2.23)
(2.23, 'php', 70.2)
(123, 'php', 123, 'php')
('abcd', 786, 2.23, 'php', 70.2, 123, 'php')

Bien que les éléments d'un tuple ne puissent pas être modifiés, il peut contenir des objets mutables, tels que des listes.

Construire un tuple contenant 0 ou 1 élément est spécial, il y a donc quelques règles de syntaxe supplémentaires :

>>> tup = (1, 2, 3, 4, 5, 6)
>>> print(tup[0])
1
>>> print(tup[1:5]])
(2, 3, 4, 5)
>>> tup[0] = 11  # 修改元组元素的操作是非法的
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>>

Chaîne, liste et tuple appartiennent tous à une séquence.

Remarque :

  • 1 Comme les chaînes, les éléments des tuples ne peuvent pas être modifiés.

  • 2. Les tuples peuvent également être indexés et découpés de la même manière.

  • 3. Faites attention aux règles de syntaxe spéciales pour la construction de tuples contenant 0 ou 1 élément.

  • 4. Les tuples peuvent également être épissés à l'aide de l'opérateur +.


Ensemble (ensemble)

Un ensemble (ensemble) est une séquence non ordonnée d'éléments non répétitifs.

La fonction de base est d'effectuer des tests d'adhésion et de supprimer les éléments en double.

Vous pouvez utiliser des accolades ({}) ou la fonction set() pour créer un ensemble Remarque : Pour créer un ensemble vide, vous devez utiliser set() au lieu de { }, car { } est utilisé. pour créer un dictionnaire vide.

tup1 = ()    # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号

Résultat de sortie de l'exemple ci-dessus :

#!/usr/bin/python3

student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}

print(student)   # 输出集合,重复的元素被自动去掉

# 成员测试
if('Rose' in student) :
    print('Rose 在集合中')
else :
	print('Rose 不在集合中')


# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')

print(a)

print(a - b)     # a和b的差集

print(a | b)     # a和b的并集

print(a & b)     # a和b的交集

print(a ^ b)     # a和b中不同时存在的元素

Dictionary (Dictionary)

Dictionary (dictionary) est un autre type de données intégré très utile en Python .

Une liste est une combinaison ordonnée d'objets, et un dictionnaire est une collection non ordonnée d'objets. La différence entre les deux est que les éléments du dictionnaire sont accessibles par clé et non par décalage.

Le dictionnaire est un type de mappage. Le dictionnaire est identifié par "{ }". Il s'agit d'une collection non ordonnée de paires clé (clé) : valeur (valeur).

Les clés doivent utiliser des types immuables.

Dans un même dictionnaire, la clé doit être unique.

{'Jack', 'Rose', 'Mary', 'Jim', 'Tom'}
Rose 在集合中
{'r', 'b', 'a', 'c', 'd'}
{'r', 'b', 'd'}
{'a', 'l', 'z', 'b', 'm', 'd', 'r', 'c'}
{'a', 'c'}
{'l', 'z', 'b', 'm', 'd', 'r'}

Le résultat de sortie de l'exemple ci-dessus :

#!/usr/bin/python3

dict = {}
dict['one'] = "1 - php中文网"
dict[2]     = "2 - php工具"

tinydict = {'name': 'php','code':1, 'site': 'www.php.cn'}


print (dict['one'])       # 输出键为 'one' 的值
print (dict[2])           # 输出键为 2 的值
print (tinydict)          # 输出完整的字典
print (tinydict.keys())   # 输出所有键
print (tinydict.values()) # 输出所有值

Le constructeur dict() peut directement construire un dictionnaire à partir de la séquence de paires clé-valeur comme suit :

1 - php中文网
2 - php工具
{'name': 'php', 'site': 'www.php.cn', 'code': 1}
dict_keys(['name', 'site', 'code'])
dict_values(['php', 'www.php.cn', 1])

De plus, le type dictionnaire possède également des fonctions intégrées, telles que clear(), key(),values(), etc.

Remarque :

  • 1. Un dictionnaire est un type de mappage et ses éléments sont des paires clé-valeur.

  • 2. Les mots-clés du dictionnaire doivent être de type immuable et ne peuvent être répétés.

  • 3. Créez un dictionnaire vide en utilisant { }.


Conversion du type de données Python

Parfois, nous devons convertir les types de données intégrés. Pour convertir le type de données, il vous suffit de convertir. le type de données comme Juste le nom de la fonction.

Les fonctions intégrées suivantes peuvent effectuer une conversion entre les types de données. Ces fonctions renvoient un nouvel objet représentant la valeur convertie.

函数 描述

int(x [,base])

将x转换为一个整数

float(x)

将x转换到一个浮点数

complex(real [,imag])

创建一个复数

str(x)

将对象 x 转换为字符串

repr(x)

将对象 x 转换为表达式字符串

eval(str)

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)

将序列 s 转换为一个元组

list(s)

将序列 s 转换为一个列表

set(s)

转换为可变集合

dict(d)

创建一个字典。d 必须是一个序列 (key,value)元组。

frozenset(s)

转换为不可变集合

chr(x)

将一个整数转换为一个字符

unichr(x)

将一个整数转换为Unicode字符

ord(x)

将一个字符转换为它的整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串