Типы данных в Python
Первое с чего надо начинать обучение Python- это типы данных. Сразу вам хочу сказать, то типа массива нет. Есть похожие типы данных: словарь, кортеж. Само словосочетание массив данных лучше не использовать. Я как PHP программист называю коллекции массивами. Это не правильно! Если вам интересно, то вы можете почитать про массивы в PHP на странице: Массив в PHP
Первый вопрос который возникает у начинающих программистов Python - это какой тип данных использовать? Тут вы сами должны принять решение. Для цифр и чисел лучше использовать тип int
Типы данных
- коллекции
- последовательности
- неизменяемые
- строка
- unicode (python 2.X)
- байтовая строка (python 3.X)
- кортеж
- изменяемые
- список
- байтовый массив (python 3.X/2.6+)
- неизменяемые
- отображения
- словарь
- множества
- множество
- фиксированное множество
- последовательности
- числа
- целые
- целое
- длинное целое (python 2.X)
- булевское
- с плавающей точкой
- комплексное
- десятичное
- дробное
- целые
- вызываемые
- функция
- генератор
- класс
- метод
- связанный
- не связанный
- прочие
- модуль
- экземпляр
- файл
- None
- представление
- внутренности (python 3.X/2.7)
- тип
- код
- фрейм
- трассировка стека
Я взял эту схему типов данных из учебника "Изучаем Python" Марка Лутца. Ничего лучше не видел.
Множества позволяют хранить уникальные данные. Как ни старайтесь, одинаковые значения удалятся и останутся только уникальные значения. За это любят использовать множества. Списки хороши тем, что в них можно хранить повторяющиеся значения. В списках можно хранить другие списки. Минус списка в том, что нельзя хранить данные по ключам как в ассоциативных массивах PHP. Словарь позволяет хранить данные по ключам. По сути словарь является ассоциативным массивом как в PHP. Одномерный ассоциативный массив - это словарь {'a':1, 'b':2}. Для того чтобы сделать подобие многомерного ассоциативного массива нужно сделать список словарей: [{'a':1},{'b':2},{'c':3}] . Как проверить тип данных? Существует функция type().
a = 1
b = 1.2
print(type(a))
print(type(b))
'''вывод:
<class 'int'="">
<class 'float'="">
'''
Приведение типов данных
Помните что строку нельзя конкатенировать с числом. Вывод разных по типу данных можно сделать при помощи функции format (новый стиль). Читайте статью форматирование строк format Python. Для преобразование одного типа данных в другой существуют внутренние функции:
- dict([object]) - преобразование к словарю.
- float([X]) - преобразование к числу с плавающей точкой. Если аргумент не указан, возвращается 0.0.
- frozenset([последовательность]) - возвращает неизменяемое множество.
- int([object], [основание системы счисления]) - преобразование к целому числу.
- list([object]) - создает список.
- object() - возвращает безликий объект, являющийся базовым для всех объектов.
- range([start=0], stop, [step=1]) - арифметическая прогрессия от start до stop с шагом step.
- set([object]) - создает множество.
- slice([start=0], stop, [step=1]) - объект среза от start до stop с шагом step.
- str([object], [кодировка], [ошибки]) - строковое представление объекта. Использует метод __str__.
- tuple(obj) - преобразование к кортежу.
- bool(x) - преобразование к типу bool, использующая стандартную процедуру проверки истинности. Если х является ложным или опущен, возвращает значение False, в противном случае она возвращает True.
- bytearray([источник [, кодировка [ошибки]]]) - преобразование к bytearray. Bytearray - изменяемая последовательность целых чисел в диапазоне 0<=X<256. Вызванная без аргументов, возвращает пустой массив байт.
- bytes([источник [, кодировка [ошибки]]]) - возвращает объект типа bytes, который является неизменяемой последовательностью целых чисел в диапазоне 0<=X<256. Аргументы конструктора интерпретируются как для bytearray().
- complex([real[, imag]]) - преобразование к комплексному числу.