Найти тему
Ты в АйТи

Типы объектов Python Часть 1. (обновляемая и дополняемая)

Оглавление

Данные в Python являются объектами.

Объекты по существу представляют собой порции памяти со значениями и наборами связан­ных операций.

Объекты могут быть:

  1. Встроенными
  2. Объектами которые мы создаём сами с применением классов Python или внешних языковых инструментов, таких как биб­лиотеки расширений С.

В сценарии Python абсолютно вес является объектами. Даже простые числа определяются значениями (например, 99) и поддерживаемыми
операциями (сложение, вычитание и т.д.).

Рассмотрим кратко типы объектов Python:

Основные типы объектов. Из книги Лутца "Изучаем Python"
Основные типы объектов. Из книги Лутца "Изучаем Python"

Числа

Сильно в числа углубляться не будет. Тут всё достаточно просто.

Python вклю­чает ожидаемые типы: целые числа, не имеющие дробной части, числа с плавающей точ­кой, которые имеют дробную часть, и более экзотические типы — комплексные числа с мнимой частью, десятичные числа с фиксированной точностью, рациональные числа с числителем и знаменателем, а также полнофункциональные множества.

Из ограничений которые следует отметить по числам, стоит упомянуть, что начиная с версии Python 3.10.7 введено ограничение на количество цифр в числе. В числе по умолчанию не может быть более 4300 цифр. Это сделано для защиты от ошибки DoS (ошибка отказа в обслуживании). Так если мы попробуем в этой версии Python возвести 2 миллионную степень, то получим ошибку:

>>> 2 ** 1000000
ValueError: Exceeds the limit (4300) for integer string conversion; use sys.set_int_max_str_digits() to increase the limit

Если Вам всё же необходимо обойти это ограничение, можно импортировать модель sys и задать другой максимум цифр для числа:

>>> import sys
>>> sys.set_int_max_str_digits(10000)

Проверим какое ограничение у нас теперь и получим ответ, что сейчас ограничение установлено на 10 000 цифр в числе:

>>> sys.get_int_max_str_digits()
10000

Строки

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

Строка в Python это пример последовательности

Последовательность - позиционно упорядоченная коллекция других объектов. Для содержащихся элемен­тов последовательности поддерживают порядок слева направо: элементы сохраняются и извлекаются по своим относительным позициям.

Строго говоря, строки представ­ляют собой последовательности односимвольных строк.

Операции над строками, как над последовательностями. Как последовательности, строки поддерживают операции, которые предполагают наличие позиционного порядка среди элементов. Например, если мы имеем четырех­ символьную строку, записанную в кавычках (обычно одинарных), то можем проверить ее длину с помощью встроенной функции len и извлечь ее компоненты посредством
выражений индексации.

Вы, возможно, уже знаете, как получить доступ к элементу последовательности по его индексу:

>>> S="Vasya" # Создаем 5-символьную строку и присваиваем ее некоторому имени.
>>> len(S) #Получаем её длину
5
>>>S[0] # Первый элемент последовательности. Индексация начинается с 0.
'V'
>>>S[1] # Второй элемент
'a'

А знаете ли Вы, что в Python вы можете индексировать последовательности в обратном направлении:

>>> S[-1]
'a'
>>> S[-2]
'y'

Ну а вот так можно извлекать срез строки:

Извлечение среза строки
Извлечение среза строки

Универсальная форма среза, X [I: J], означает “предоставить из X все содержимое, начиная со смещения I и заканчивая смещением J, не включая его”.

Несколько распространенных вариантов получения срезов последовательности (строки):

Варианты получения срезов строки
Варианты получения срезов строки

Так как строки это последовательности, к ним также могут применяться операции:

  1. Конкатенации (объединение двух строк в одну новую) операция обозначается знаком "+"
  2. Повторения (Создание новой строки путем повторения другой) Операция знаком "*" после которого указывается число обозначающее количество раз, которое надо повторить строку.
Конкатенация и повторение строки.
Конкатенация и повторение строки.

Кстати, вы заметили, что "+" для разных объектов означает разные действия? Для чисел - сложение, для строк - конкатенацию (объединение). Это реализация одной из парадигм ООП в действии - полиморфизм. Смысл операции зависит от объектов к которым она применяется.

Выше мы рассмотрели операции над строками, как над последовательностями, но строки имеют также собственные опреации доступные в виде методов.

Методы - это функции,, которые присоединены и действуют на специфическом объекте и инициируются посредством выражений вызовов.

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

Поиск и поиск с заменой подстроки.
Поиск и поиск с заменой подстроки.
Важные методы для строк
Важные методы для строк

Отдельно стоит отметить операцию подстановки известную как форматирование. Акцент на этой операции делается не всегда, но тем не менее она очень важна и ей надо уметь пользоваться. Ее удобно использовать например при подготовке GET и POST запросов к серверу. Эта операция доступна как в виде выражения, так и в виде строкового метода:

Применение подстановки значений в строку.
Применение подстановки значений в строку.

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

Напишите, что бы по вашему мнению, стоило еще упомянуть среди методов и особенностей работы строк.

Не забываем про лайки и подписки, они помогают развитию канала. Спасибо! :)

Помогите автору канала одним из этих способов :) :
Донаты (переводы) с любых карт и yoomoney -
https://yoomoney.ru/fundraise/QnZacAJpY9g.230208
Донаты на карту Сбера - 2202 2007 6729 1543
Донаты на Тинькофф - 5536 9137 9511 4657
Донаты на Открытие - 5586 2000 6614 6835
Криптокошельки:
1. Ethereum - 0x73670880Af17F42E6a641f5936E2f3Bc5a4db257
2. Bitcoin - bc1qywt6l80metclksvdzjt370r28zg9gxg5262aum
3. LiteCoin - ltc1qrwedpjt4evqhl42w2z32kks6xwysqvk3g27uqj
4. Zcash - t1YfZNFJ5Q1BQLCbC6Qo3bcueLJ53QLo4Mx