Данные в Python являются объектами.
Объекты по существу представляют собой порции памяти со значениями и наборами связанных операций.
Объекты могут быть:
- Встроенными
- Объектами которые мы создаём сами с применением классов Python или внешних языковых инструментов, таких как библиотеки расширений С.
В сценарии Python абсолютно вес является объектами. Даже простые числа определяются значениями (например, 99) и поддерживаемыми
операциями (сложение, вычитание и т.д.).
Рассмотрим кратко типы объектов 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, не включая его”.
Несколько распространенных вариантов получения срезов последовательности (строки):
Так как строки это последовательности, к ним также могут применяться операции:
- Конкатенации (объединение двух строк в одну новую) операция обозначается знаком "+"
- Повторения (Создание новой строки путем повторения другой) Операция знаком "*" после которого указывается число обозначающее количество раз, которое надо повторить строку.
Кстати, вы заметили, что "+" для разных объектов означает разные действия? Для чисел - сложение, для строк - конкатенацию (объединение). Это реализация одной из парадигм ООП в действии - полиморфизм. Смысл операции зависит от объектов к которым она применяется.
Выше мы рассмотрели операции над строками, как над последовательностями, но строки имеют также собственные опреации доступные в виде методов.
Методы - это функции,, которые присоединены и действуют на специфическом объекте и инициируются посредством выражений вызовов.
Строки имеют ряд важных и полезных методов:
Отдельно стоит отметить операцию подстановки известную как форматирование. Акцент на этой операции делается не всегда, но тем не менее она очень важна и ей надо уметь пользоваться. Ее удобно использовать например при подготовке 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