Python заметки
463 subscribers
146 photos
14 links
Заявки принимаются автоматически.

Регулярные полезные заметки по практическому Python.
Можно почитать пока компилируется проект :)

Сотрудничество: @m4ff1n
Download Telegram
Инкапсуляция

Инкапсуляция — ограничение доступа к составляющим объект компонентам (методам и переменным). Инкапсуляция делает некоторые из компонент доступными только внутри класса.

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

Одиночное подчеркивание в начале имени атрибута говорит о том, что переменная или метод не предназначен для использования вне методов класса, однако атрибут доступен по этому имени.

#теория
👍1
Наследование

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

#теория
Полиморфизм

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

#теория
👍2
Списки

Списки в Python - упорядоченные изменяемые коллекции объектов произвольных типов (почти как массив, но типы могут отличаться).

Чтобы использовать списки, их нужно создать.

Создать список можно несколькими способами:
- обработать любой итерируемый объект (например, строку) встроенной функцией list
- при помощи литерала
- с помощью генераторов

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

#теория
Функции и методы списков

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

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

#теория
Взятие элемента по индексу

Как и во многих других языках, нумерация элементов начинается с нуля. При попытке доступа к несуществующему индексу возникает исключение IndexError.

В данном примере переменная a являлась списком, однако взять элемент по индексу можно и у других типов: строк, кортежей.

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

#теория
👍1
Срезы

В Python, кроме индексов, существуют ещё и срезы.

item[START:STOP:STEP] - берёт срез от номера START, до STOP (не включая его), с шагом STEP. По умолчанию START = 0, STOP = длине объекта, STEP = 1. Соответственно, какие-нибудь (а возможно, и все) параметры могут быть опущены.

#теория
🔥1
Срезы: добавление и удаление элементов

Также с помощью срезов можно не только извлекать элементы, но и добавлять и удалять элементы (разумеется, только для изменяемых последовательностей).

#теория
Кортежи

Кортеж, по сути - неизменяемый список.

Для чего нужен:
- Защита от дурака. То есть кортеж защищен от изменений, как намеренных (что плохо), так и случайных (что хорошо).
- Меньший размер.

Пример на картинке выше.

#теория
👍3
Операции с кортежами

Все операции над списками, не изменяющие список (сложение, умножение на число, методы index() и count() и некоторые другие операции). Можно также по-разному менять элементы местами и так далее.

Например, гордость программистов на python - поменять местами значения двух переменных (см. картинку выше).

#теория
👍1
Словари (dict)

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

Чтобы работать со словарём, его нужно создать.

На картинке пример создания с помощью литерала.

#теория
Методы словарей

dict.clear() - очищает словарь.

dict.copy() - возвращает копию словаря.
classmethod dict.fromkeys(seq[, value]) - создает словарь с ключами из seq и значением value.

dict.get(key[, default]) - возвращает значение ключа, но если его нет, не бросает исключение, а возвращает default.

dict.items() - возвращает пары (ключ, значение).

dict.keys() - возвращает ключи в словаре.

dict.pop(key[, default]) - удаляет ключ и возвращает значение. Если ключа нет, возвращает default.

dict.popitem() - удаляет и возвращает пару (ключ, значение). Если словарь пуст, бросает исключение KeyError. Помните, что словари неупорядочены.

dict.setdefault(key[, default]) - возвращает значение ключа, но если его нет, не бросает исключение, а создает ключ со значением default (по умолчанию None).

dict.update([other]) - обновляет словарь, добавляя пары (ключ, значение) из other. Существующие ключи перезаписываются. Возвращает None.

dict.values() - возвращает значения в словаре.

#теория
👍7
Множества

Множество в python - "контейнер", содержащий не повторяющиеся элементы в случайном порядке.

#теория
👍4
Методы множеств

С множествами можно выполнять множество операций: находить объединение, пересечение...

len(s) - число элементов в множестве (размер множества).

x in s - принадлежит ли x множеству s.

set.isdisjoint(other) - истина, если set и other не имеют общих элементов.

set == other - все элементы set принадлежат other, все элементы other принадлежат set.

set.issubset(other) или set <= other - все элементы set принадлежат other.

set.issuperset(other) или set >= other - аналогично.

set.union(other, ...) или set | other | ... - объединение нескольких множеств.

set.intersection(other, ...) или set & other & ... - пересечение.

set.difference(other, ...) или set - other - ... - множество из всех элементов set, не принадлежащие ни одному из other.

set.symmetric_difference(other); set ^ other - множество из элементов, встречающихся в одном множестве, но не встречающиеся в обоих.

set.copy() - копия множества.

#теория
🔥3👍2
Трехместное выражение if/else

Обычная условная конструкция в примере довольно короткая, но, тем не менее, занимает целых 4 строки. Специально для таких случаев и было придумано трехместное выражение if/else.

В данной инструкции интерпретатор выполнит выражение Y, если X истинно, в противном случае выполнится выражение Z.

#теория
👍5🔥1🤯1
Нет друг, Python это не змея..

📌Изучаешь язык Python и возникли вопросы ??
Тогда залетай к нам 🔥
Цикл while

While - один из самых универсальных циклов в Python, поэтому довольно медленный. Выполняет тело цикла до тех пор, пока условие цикла истинно.
👍1
Они смеялись, когда я подписался на эти каналы, но когда я начал читать эти посты…

IT questions - тут ты точно подготовишься к собеседованию: логические и практические задачи, подборки вопросов с собеседований

Learn English, code better — качаешь технический английский - поднимаешь себе ЗП! Без больших усилий, уделяя 5 минут в день!

FullStack Libs - будь открыт к новым технологиям: библиотеки, фреймворки, плагины и другие полезные ресурсы для Frontend и Backend

Python TAT - освой самый популярный язык программирования без воды, по примерам самых распространенных задач!

Читай и развивайся, пока компилируется проект!
👍1
Чем полезен Python и как его выучить?
Любой может выучить Python с нуля. Необходимые знания вы получите на курсе «Профессия Python-разработчик» в Skillbox! Переходите по ссылке: https://clc.to/MaBaFQ
Мы поможем развить актуальные навыки и стать сильным специалистом. 
В результате вы научитесь:

создавать программы: от консольных скриптов чат-ботов
оптимизировать старые приложения и дорабатывать неудачный код
использовать средства разработки, как Git и PyCharm

📌Открываем бесплатный доступ к первым 3 модулям. Вы учитесь совершенно бесплатно и решаете, стоит ли продолжать. 

Узнать подробнее о курсе и получить скидку 60% в честь Нового года можно здесь: https://clc.to/MaBaFQ Оставьте заявку на курс сейчас и получите 6 месяцев бесплатного обучения и год английского в подарок!
👍81