Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Python_data_types

Задание на изучение типов данных

Задача

  • В качестве практической работы необходимо нарисовать блок-схемы работы алгоритма решения задач и загрузить в свой репозиторий в течение дня.
  • В качестве домашней работы необходимо реализовать программы по ранее созданным алгоритмам решения задач на языке Python и загрузить в свой репозиторий до крайнего срока.

Даты сдачи оговариваются в канале группы.

Теоретическая справка

Python — язык динамически типизированный, то есть тип переменной определяется автоматически при присвоении значения.

Типы и структуры данных - что это?

Типы данных - это атрибут, определяющий, какого рода данные могут храниться в объекте. Это могут быть целые числа, символы, данные денежного типа, метки времени и даты, двоичные строки и так далее.

Структура данных - это специализированный формат для организации и хранения информации. Она определяет, как расположены и связаны между собой элементы данных, что напрямую влияет на скорость доступа и изменения данных.

Какие типы данных существуют в Python?

Выделяют следующие виды типов данных в Python:

  • Неизменяемые (немутабельные, immutable) типы данных
  • Изменяемые (мутабельные, muttable) типы данных

Числовые типы

  • Целочисленные (int, etc.)
  • Числа с плавающей запятой (float, etc.)
  • Комплексные числа (complex)

Логические

  • Boolean (bool)

Строковые

  • Строка (str)

NoneType

  • NoneType (None)

Какие структуры данных существуют в Python?

Базовых - 4, а конкретнее это Списки, Кортежи, Множества, Словари, их ещё называют стандартными коллекциями и о них чуть подробнее

Списки (List)

Изменяемая, упорядоченная последовательность. Может содержать элементы разных типов.

Пример создания:

numbers = [1, 2, 3, 4]

# 2. Через конструктор list()
numbers2 = list((1, 2, 3, 4))

# 3. Пустой список
empty = []
empty2 = list()

# 4. Из строки
chars = list("Python")      # ['P', 'y', 't', 'h', 'o', 'n']

# 5. Из диапазона
nums = list(range(5))       # [0, 1, 2, 3, 4]

# 6. Через генератор списка (list comprehension)
squares = [x**2 for x in range(5)]  # [0, 1, 4, 9, 16]

# 7. С копированием другого списка
copy_list = numbers[:]      # поверхностная копия
clone = numbers.copy()

Основные операции:

  • append(x) добавить в конец
  • extend(lst) добавить несколько элементов
  • insert(i, x) вставить по индексу
  • remove(x) удалить первое вхождение
  • pop(i) удалить по индексу и вернуть элемент
  • sort(), reverse() сортировка и разворот
  • copy() поверхностная копия

Кортежи (Tuple)

Неизменяемая (immutable) упорядоченная коллекция.

Пример создания:

# 1. Литерал
point = (10, 20)

# 2. Без скобок (неявный кортеж)
coords = 10, 20, 30

# 3. Один элемент (нужна запятая!)
single = (5,)

# 4. Пустой кортеж
empty = ()
empty2 = tuple()

# 5. Из списка
tuple_from_list = tuple([1, 2, 3])

# 6. Из строки
letters = tuple("abc")      # ('a', 'b', 'c')

# 7. Распаковка значений
x, y, z = coords

Основные операции:

  • count(х). Возвращает количество раз, когда указанный элемент встречается в кортеже. Если элемента нет, то в выводе получится 0
  • index(х). Возвращает индекс первого вхождения указанного элемента

Множества (Set)

Неупорядоченная коллекция уникальных элементов.

Пример создания:

# 1. Литерал
fruits = {"apple", "banana", "orange"}

# 2. Пустое множество (только через конструктор!)
empty = set()   # {} создаёт dict, а не set

# 3. Из списка (автоматически уберёт дубликаты)
unique_numbers = set([1, 2, 2, 3, 4])  # {1, 2, 3, 4}

# 4. Из строки
chars = set("hello")  # {'h', 'e', 'l', 'o'}

# 5. Из диапазона
evens = set(range(0, 10, 2))  # {0, 2, 4, 6, 8}

# 6. Через set comprehension (множество по условию)
squares = {x**2 for x in range(5)}  # {0, 1, 4, 9, 16}

Основные операции:

  • add(x) добавить элемент
  • remove(x) удалить (ошибка, если нет)
  • discard(x) удалить (без ошибки)
  • pop() удалить случайный элемент
  • clear() очистить

Словари (Dict)

Неупорядоченная (с Python 3.7 — сохраняет порядок вставки) коллекция пар "ключ: значение".

Пример создания:

# 1. Литерал
person = {"name": "Alice", "age": 25}

# 2. Пустой словарь
empty = {}
empty2 = dict()

# 3. Через конструктор dict() с аргументами
user = dict(name="Bob", age=30)

# 4. Из списка пар (список кортежей)
pairs = [("x", 10), ("y", 20)]
coords = dict(pairs)  # {'x': 10, 'y': 20}

# 5. Из двух списков (zip)
keys = ["name", "age"]
values = ["John", 40]
person = dict(zip(keys, values))  # {'name': 'John', 'age': 40}

# 6. Из словаря comprehension
squares = {x: x**2 for x in range(5)}  # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

# 7. Копирование словаря
copy_dict = person.copy()
clone = dict(person)

Основные операции:

  • get(key, default) безопасное получение
  • keys(), values(), items() итераторы
  • update(dict2) объединить
  • pop(key) удалить по ключу
  • clear() очистить

About

Задание на изучение типов данных

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors