Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Освоение типов данных в Python: практическое руководство

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

Это руководство проведет вас через основные типы данных в Python, иллюстрируя, как они работают и как преобразовывать их друг в друга.

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

Каждое значение в Python — это объект, а каждый объект является экземпляром класса, определяющего его тип. Понимание этих типов необходимо для написания понятного, эффективного и надежного кода.

Ниже мы рассмотрим наиболее часто используемые типы данных: числа, списки, кортежи, строки, множества и словари.


Числа в Python

Числовые типы Python включают int, float и complex. Используйте type() для проверки класса значения и isinstance() для проверки принадлежности к иерархии классов.

a = 5
print(a, "is of type", type(a))
a = 2.0
print(a, "is of type", type(a))
a = 1+2j
print(a, "is complex number?", isinstance(1+2j, complex))

Вывод

5 is of type <class 'int'>
2.0 is of type <class 'float'>
(1+2j) is complex number? True

Целые числа могут быть произвольно большими, ограниченными только доступной памятью. Числа с плавающей точкой точны примерно до 15 десятичных знаков; например, 1 — целое, а 1.0 — float.

Комплексные числа имеют форму x + yj, где x — вещественная часть, а y — мнимая. Примеры значений:

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

Float b был усечен для соответствия пределам точности.


Список в Python

Списки — упорядоченные, изменяемые последовательности, которые могут содержать элементы любого типа. Объявляются квадратными скобками, элементы разделены запятыми:

a = [1, 2.2, 'python']

Используйте срезы для получения подсписков. Индексы начинаются с нуля:

a = [5,10,15,20,25,30,35,40]
print("a[2] = ", a[2])
print("a[0:3] = ", a[0:3])
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

Кортежи — упорядоченные, но неизменяемые. Они часто используются для защиты данных и могут предлагать небольшие преимущества в производительности над списками, так как их размер не может меняться. Определяются круглыми скобками:

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

Срезы работают, но переназначение вызывает ошибку:

t = (5,'program', 1+3j)
print("t[1] = ", t[1])
print("t[0:3] = ", t[0:3])
# t[0] = 10 # вызовет TypeError

Вывод

t[1] = program
t[0:3] = (5, 'program', (1+3j))

Строки в 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!'
print("s[4] = ", s[4])
print("s[6:11] = ", s[6:11])
# s[5] = 'd' # вызовет TypeError

Вывод

s[4] = o
s[6:11] = world

Множество в Python

Множество — неупорядоченная коллекция уникальных элементов, определяемая фигурными скобками. Множества автоматически устраняют дубликаты и поддерживают операции объединения и пересечения.

a = {5,2,3,1,4}
print("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}

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


Словарь в Python

Словари хранят пары ключ-значение и сильно оптимизированы для поиска по ключу. Ключи и значения могут быть любого хешируемого типа.

d = {1:'value','key':2}
print(type(d))
print("d[1] = ", d[1])
print("d['key'] = ", d['key'])
# print("d[2] = ", d[2]) # вызовет KeyError

Вывод

<class 'dict'>
d[1] = value
d['key'] = 2

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

Python предоставляет встроенные конструкторы для преобразования типов: int(), float(), str() и др. Преобразование float в int усекает в сторону нуля.

float(5) # 5.0
int(10.6) # 10
int(-10.6) # -10

Строковые преобразования требуют совместимых представлений:

float('2.5') # 2.5
str(25) # '25'
# int('1p') # ValueError

Последовательности можно конвертировать друг в друга:

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}

Python

  1. Мастерство C# переменных и примитивных типов данных: полное руководство
  2. Понимание типов данных C++: основы, модификаторы и лучшие практики
  3. Типы данных в C: int, float, char и другие — полное руководство
  4. Мастерство преобразования типов в Python: Полное руководство
  5. Мастерство операторов Python: Полное руководство
  6. Оператор pass в Python: практическое руководство
  7. 5 моделей центров обработки данных: дизайн, кейсы и примеры
  8. Восемь ключевых моделей облачных вычислений 2021 года
  9. 8 распространённых типов утечек данных — реальные примеры и последствия
  10. Типы данных в C: полное руководство по целочисленным, вещественным и производным типам