English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Python

Contrôle de flux Python

Fonction en Python

Types de données en Python

Opérations sur les fichiers Python

Objets et classes Python

Dates et heures Python

Connaissances avancées Python

Manuel de référence Python

Types de données en Python

Dans ce tutoriel, vous apprendrez différents types de données utilisables en Python.

Types de données en Python

Chaque valeur a un type de données en Python. Comme tout est un objet en programmation Python, le type de données est en réalité une classe, et les variables sont des exemples (objets) de ces classes.

Python comporte plusieurs types de données. Voici quelques types importants.

Nombre (Number) en Python

Les entiers, les nombres à virgule flottante et les nombres complexes appartiennent tous à la catégorie des nombres de Python. Dans Python, ils sont définis par les classes int, float et complex.

我们可以使用type()函数来判断一个变量或值属于哪个类。同样地,isinstance() 函数用于检查对象是否属于特定的类。

a = 5
print(a, "的类型是  ", type(a))
a = 2.0
print(a, "的类型是  ", type(a))
a = 1+2j
print(a, "是复数吗?", isinstance(1+2j,complex))

Output volume

5 的类型是  <class 'int'>
2.0 的类型是  <class 'float'>
(1+2j) 是复数吗? True

整数可以是任意长度,但受可用内存的限制。

浮点数最多可精确到 15 个小数位。整数 和 浮点由小数点分隔。1 是整数,1.0 是浮点数。

复数以  x + yj 形式书写,其中x是实部,y是虚部。这里有些示例。

>>> a = 1234567890123456789
>>> a
1234567890123456789
>>> b = 0.1234567890123456789
>>> b
0.12345678901234568
>>> c = 0. 1+2j
>>> c
(1+2j)

注意,float变量b被截断了。

Python 列表(List)

列表是项目的有序序列。它是Python中最常用的数据类型之一,非常灵活。列表中的项目允许不是同一类型。

声明列表非常简单。用逗号分隔的项目放在方括号内[ ]。

a = [1, 2.2,'python']

我们可以使用切片运算符 [ ] 从列表中提取一个项目 或 一系列项目。注意,在Python中,索引从 0 开始。

a = [5,10,15,20,25,30,35,40]
# a[2]= 15
print("a[2]:=	", a[2})
# a[0:3]:=	[	5, 10, 15]
print("a[0:3]:=	", a[0:3})
# a[5]:=	[	30, 35, 40]
print("a[5]=", a[5:])

Output volume

a[2]=  15
a[0:3]=	[	5, 10, 15]
a[5:]=	[	30, 35, 40]

列表是可变的,也就是说,列表元素的值可以更改。

a = [1, 2, 3]
a[2]= 4
print(a)

Output volume

[1, 2, 4]

Python 元组(Tuple)

元组(Tuple)是项目的有序序列,与列表(List)相同。唯一的区别是元组是不可变的。元组一旦创建就不能修改。

元组用于写保护数据,通常比列表快,因为它们不能动态更改。

它在括号内 () 定义,其中各项之间用逗号分隔。

t = (5,'program', 1+3j)

我们可以使用切片运算符 [] 提取项目,但不能更改其值。

t = (5,'program', 1+3j)
# t[1)='program'
print("t[1)=", t[1})
# t[0:3)=(5, 'program', (1+3j))
print("t[0:3] = ", t[0:3})
# generate error
# Les tuples sont immuables
t[0] = 10

Output volume

t[1] = {
t[0:3] = {5, 'program', (1+3j))
Traceback (most recent call last):
  Fichier "test.py", ligne 11, in <module>
    t[0] = 10
TypeError: l'objet 'tuple' ne prend pas en charge l'affectation d'élément

Chaîne Python

chaîneest une séquence de caractères Unicode. Nous pouvons utiliser des guillemets simples ou doubles pour représenter une chaîne. Nous pouvons utiliser des guillemets triples ''' ou \

s = "Ceci est une chaîne"
print(s)
s = '''Une chaîne multiligne
string'''
print(s)

Output volume

Ceci est une chaîne
Une chaîne multiligne
string

Comme les listes et les tuples, l'opérateur de tronçonnage [ ] peut être utilisé avec les chaînes de caractères. Cependant, les chaînes de caractères sont immuables.

s = 'Hello world!'
# s[4] = 'o'
print("s[4] = ", s[4})
# s[6:11] = 'world'
print("s[6:11] = ", s[6:11})
# Erreur
# Les chaînes de caractères sont immuables en Python
s[5] = 'd'

Output volume

s[4] = {
s[6:11] = {
Traceback (most recent call last):
  File '<string>', line 11, in <module>
TypeError: l'objet 'str' ne prend pas en charge l'affectation d'élément

Collection (Set) Python

Set est un ensemble non ordonné de valeurs uniques. Le set est entouré de crochets { } et composé d'un ensemble de valeurs séparées par des virgules. Les éléments de l'ensemble sont non ordonnés.

a = {5,2,3,1,4}
# Afficher la variable set
print("a = ", a)
# Afficher le type de données de a
print(type(a))

Output volume

a = {1, 2, 3, 4, 5}
<class 'set'>

Nous pouvons effectuer des opérations sur les ensembles sur deux ensembles, par exemple l'union, l'intersection. Les ensembles ont des valeurs uniques. Ils éliminent les répétitions.

a = {1,2,2,3,3,3}
print(a)

Output volume

{1, 2, 3}

Comme set est un ensemble non ordonné, l'index n'a pas de sens. Par conséquent, l'opérateur de tronçonnage [] ne fonctionne pas.

>>> a = {1,2,3}
>>> a[1]
Traceback (most recent call last):
  File '<string>', line 301, in runcode
  File '<interactive input>', line 1, in <module>
TypeError: l'objet 'set' ne prend pas en charge l'indexation

Dictionnaire Python

dictionnaireest un ensemble non ordonné de paires clé-valeur.

Lorsque nous possédons une grande quantité de données, nous les utilisons généralement. Le dictionnaire est optimisé pour la recherche de données. Nous devons connaître la clé de la valeur de recherche.

In Python, curly braces {} define dictionaries, where each item is in the form of key:value. Keys and values can be of any type.

>>> d = {1: 'value','key':2}
>>> type(d)
<class 'dict'>

We can use keys to retrieve the corresponding values.

d = {1: 'value','key':2}
print(type(d))
print("d[1]= ", d[1]);
print("d['key'] = ", d['key']);
# generate error
print("d[2]= ", d[2]);

Output volume

<class 'dict'>
d[1]= value
d['key'] =  2
Traceback (most recent call last):
  File '<string>', line 9, in <module>
KeyError: 2

Data type conversion

We can convert between different types using different conversion functions, such as int(), float(), str(), and so on.

>>> float(5)
5.0

Converting from float to int truncates the value (making it closer to zero).

>>> int(10.6)
10
>>> int(-10.6)
-10

The conversion between strings must contain compatible values.

>>> float('2.5')
2.5
>>> str('25)
'25'
>>> int('1p')
Traceback (most recent call last):
  File '<string>', line 301, in runcode
  File '<interactive input>', line 1, in <module>
ValueError: invalid literal for int() with base 10: '1p'

We can even convert one sequence to another sequence.

>>> set([1,2,3})
{1, 2, 3}
>>> tuple({5,6,7)
(5, 6, 7)
>>> list('hello')
['h', 'e', 'l', 'l', 'o']

To convert to a dictionary, each element must be paired:

>>> dict([[1,2],[3,4])
{1: 2, 3: 4}
>>> dict([(3,26)),(4,44))
{3: 26, 4: 44}