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

Основной курс Python

Управление потоком в Python

Функции Python

Типы данных Python

Операции с файлами в Python

Объекты и классы в Python

Даты и время в Python

Продвинутые знания Python

Руководство по Python

Типы данных Python

В этом руководстве вы узнаете о различных типах данных, которые можно использовать в Python.

Типы данных в Python

У каждого значения в Python есть тип данных. Поскольку все в Python является объектом, тип данных на самом деле является классом, а переменная - это пример (объект) этого класса.

В Python существует множество типов данных. Ниже перечислены некоторые важные типы.

Числа (Number) в Python

Целые числа, числа с плавающей запятой и комплексные числа都属于范畴 Python-чисел. В Python они определены как классы int, float и 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))

Объём вывода

Тип 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 = 1+2j
>>> c
(1+2j)

Обратите внимание, что переменная floatbбыл截断.

Список (List) в Python

СписокЭто упорядоченная последовательность элементов. Это один из самых常用的 типов данных в 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:])

Объём вывода

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

Списки изменяемы, то есть значения элементов списка могут быть изменены.

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

Объём вывода

[1, 2, 4]

Тупли Python (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])
# вызывается ошибка
# Тупли не изменяемы
t[0] = 10

Объём вывода

t[1] = program
t[0:3] = (5, 'program', (1+3j))
Traceback (most recent call last):
  Файл "test.py", строка 11, в <module>
    t[0] = 10
TypeError: объект 'tuple' не поддерживает назначение элементов

Строка Python

Строкаявляется последовательностью Unicode символов. Мы можем использовать одинарные или двойные кавычки для представления строки. Мы можем использовать три кавычки ''' или """ для представления многострочного текста.

s = "This is a string"
print(s)
s = '''A multiline
string'''
print(s)

Объём вывода

This is a string
A multiline
string

就像列表和元组一样,切片运算符 [ ] 可以与字符串一起使用。但是,字符串是不可变的。

s = 'Hello world!'
# s[4] = 'o'
print("s[4] = ", s[4])
# s[6:11] = 'world'
print("s[6:11] = ", s[6:11])
# 发生错误
# 字符串在Python中是不可变的
s[5] = 'd'

Объём вывода

s[4] = 'o'
s[6:11] = 'world'
Traceback (most recent call last):
  File '<string>', line 11, in <module>
TypeError: 'str' object does not support item assignment

Python 集合(Set)

Set 是唯一项的无序集合。Set 由用大括号 { } 括起来,并由逗号分隔的值的集合。集合中的项目是无序的。

a = {5, 2, 3, 1, 4}
# 输出set集变量
print("a = ", a)
# 输出a的数据类型
print(type(a))

Объём вывода

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

我们可以在两个集合上执行集合操作,例如 并集,交集。集具有唯一值。他们消除重复。

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

Объём вывода

{1, 2, 3}

由于 set 是无序集合,因此索引没有意义。因此,切片运算符 [] 不起作用。

>>> 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: 'set' object does not support indexing

Python字典

字典是 键值对 的无序集合。

当我们拥有大量数据时,通常使用它。字典针对检索数据进行了优化。我们必须知道检索值的密钥。

在Python中,大括号 {} 内定义了字典,每一项都是形式为 key:value 。键 和 值 可以是任何类型。

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

我们可以使用键来检索相应的值。

d = {1: 'value', 'key': 2}
print(type(d))
print("d[1] = ", d[1]);
print('d['key'] = ', d['key']);
# вызывается ошибка
print('d[2] = ', d[2]);

Объём вывода

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

Преобразование типов данных

Мы можем использовать различные функции преобразования типов, такие как преобразование между различными типами данных int(), float(), str() и т.д.

>>> float(5)
5.0

Преобразование из float в int отбрасывает значение (делает его接近 ноль).

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

Преобразование между строками должно содержать совместимые значения.

>>> 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: недопустимое литеральное значение для int() с основанием 10: '1p'

Мы даже можем преобразовать одну последовательность в другую.

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

Чтобы преобразовать в словарь, каждый элемент должен быть парным:

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