Кому из вас, уважаемые папищеки, сейчас тоже приходится гореть в аду дедлайнов? Давайте запилим свой кодерский профсоюз.
#кек
@zen_of_python
#кек
@zen_of_python
❤8
self
: простейшее объяснениеЕсли вы только начинаете изучать Python, то почти наверняка уже столкнулись с
self
. В этом лонгриде мы разберемся, что это и с чем это едят.self
— это ссылка на объектКлючевое слово self используется в методах классов. Оно всегда указывает на текущий экземпляр класса, через который происходит обращение к данным и методам.
class Employee:
def set_salary(self, value):
self.salary = value
e = Employee()
e.set_salary(2000)
print(e.salary)
Когда вы создаёте объект, Python автоматически передаёт этот объект первым аргументом в метод. Принято называть его self, хотя технически вы можете использовать любое имя.
Employee
с методом set_salary
. Этот метод принимает два аргумента:— self — сам объект;
— value — значение, которое мы хотим установить.
self.salary = value
Это значит, что у конкретного объекта
e
создаётся атрибут salary
, которому присваивается переданное значение.
e = Employee()
e.set_salary(2000)
На самом деле Python преобразует этот вызов в:
Employee.set_salary(e, 2000)
print(e.salary) # 2000
Почему без self не обойтись?
self
позволяет объекту хранить собственные данные. Каждый экземпляр класса имеет свой набор атрибутов, и именно через self
мы к ним обращаемся.Например, если создать двух сотрудников:
e1 = Employee()
e2 = Employee()
e1.set_salary(2000)
e2.set_salary(3000)
print(e1.salary) # 2000
print(e2.salary) # 3000
У каждого объекта будет своя зарплата.
#инструмент
@zen_of_python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Поговорим на Python. Разработка ПО для начинающих
Простое и дружелюбное введение в программирование для новичков. Вместе с героями книги вы пройдёте путь от идеи до готового приложения, шаг за шагом осваивая основы Python. Читатель научится не только писать код, но и мыслить как программист: планировать, отлаживать и находить решения. Книга построена на практике — вы создадите собственное онлайн-меню для кафе и постепенно поймёте, как устроена разработка. Это отличный старт для детей и студентов.
#книга #обучение
@zen_of_python
Простое и дружелюбное введение в программирование для новичков. Вместе с героями книги вы пройдёте путь от идеи до готового приложения, шаг за шагом осваивая основы Python. Читатель научится не только писать код, но и мыслить как программист: планировать, отлаживать и находить решения. Книга построена на практике — вы создадите собственное онлайн-меню для кафе и постепенно поймёте, как устроена разработка. Это отличный старт для детей и студентов.
#книга #обучение
@zen_of_python
✍1❤1🆒1
Bazel | Сборка и тестирование, как в FAANG
Опенсорсная версия внутреннего инструмента Google, которая делает процесс сборки эффективнее:
— Дает пересобрать только те участки кода, где были изменения (Incremental Builds);
— Позволяет сдруживать Python-код с другими ЯП;
— Дружит с CI / CD;
— Поддерживается на популярных ОС: Windows, Linux, macOS.
#инструмент
@zen_of_python
Опенсорсная версия внутреннего инструмента Google, которая делает процесс сборки эффективнее:
— Дает пересобрать только те участки кода, где были изменения (Incremental Builds);
— Позволяет сдруживать Python-код с другими ЯП;
— Дружит с CI / CD;
— Поддерживается на популярных ОС: Windows, Linux, macOS.
#инструмент
@zen_of_python
✍1🌭1
This media is not supported in your browser
VIEW IN TELEGRAM
memory_graph | Визуализация кода
Помощник в изучении и отладке, который визуализирует состояние программы: переменные, структуры данных и стек вызовов. Он позволит наглядно понять ключевые концепции — ссылки и изменяемость и проч.
С помощью графов можно визуализировать взаимосвязи между объектами, что они содержат и как меняются во времени. Удобен как для студентов и начинающих программистов, так и для тех, кто хочет глубже осознать, как Python работает «под капотом».
Модуль можно использовать даже в ноутбуках.
#инструмент
@zen_of_python
Помощник в изучении и отладке, который визуализирует состояние программы: переменные, структуры данных и стек вызовов. Он позволит наглядно понять ключевые концепции — ссылки и изменяемость и проч.
С помощью графов можно визуализировать взаимосвязи между объектами, что они содержат и как меняются во времени. Удобен как для студентов и начинающих программистов, так и для тех, кто хочет глубже осознать, как Python работает «под капотом».
Модуль можно использовать даже в ноутбуках.
#инструмент
@zen_of_python
👏6
Из медтеха в Python-разработчики: как менторство помогло найти работу в IT
Когда переходишь из медтеха в Python-разработку, путь может оказаться очень тернистым. В статье на Tproger рассмотрели, как наставник помог начинающему совершить этот переход, вплоть до первого трудоустройства.
Материал вдохновляет на то, чтобы не бояться менять направление и искать менторов, ведь их опыт может сократить время и увеличить шанс успеха. Полезно всем, кто думает о смене профессии или уже учится, но не знает, как применить знания на практике и выйти на рынок.
#обучение
@zen_of_python
Когда переходишь из медтеха в Python-разработку, путь может оказаться очень тернистым. В статье на Tproger рассмотрели, как наставник помог начинающему совершить этот переход, вплоть до первого трудоустройства.
Материал вдохновляет на то, чтобы не бояться менять направление и искать менторов, ведь их опыт может сократить время и увеличить шанс успеха. Полезно всем, кто думает о смене профессии или уже учится, но не знает, как применить знания на практике и выйти на рынок.
#обучение
@zen_of_python
❤1✍1🍌1
Вопрос подписчика
Задает @StSav012:
«Есть ли у кого хороший мануал по lazy loading initialization? Чтобы и в runtime работало, и IDE не ругалась».
NB! Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике.
#обсуждение
@zen_of_python
Задает @StSav012:
«Есть ли у кого хороший мануал по lazy loading initialization? Чтобы и в runtime работало, и IDE не ругалась».
NB! Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике.
#обсуждение
@zen_of_python
❤1
ИИ впервые создал новые вирусы, которые убивают устойчивые к антибиотикам бактерии
Проблема растущей резистентности к антибиотикам становится всё более серьёзной — многие привычные лекарства уже не действуют. Учёные использовали языковую модель, обученную на миллионах фаговых геномов, чтобы создать варианты, которых не было в природе, и успешно протестировали их на устойчивых штаммах. И все это на Python. Некоторые из сгенерированных вирусов смогли преодолеть устойчивость всего за 1-5 поколений, в то время как оригинальный фаг без ИИ-адаптации не справлялся. Работа открывает путь к «кастомной фаготерапии» — лечению, адаптированному под конкретную бактериальную угрозу.
#факт
@zen_of_python
Проблема растущей резистентности к антибиотикам становится всё более серьёзной — многие привычные лекарства уже не действуют. Учёные использовали языковую модель, обученную на миллионах фаговых геномов, чтобы создать варианты, которых не было в природе, и успешно протестировали их на устойчивых штаммах. И все это на Python. Некоторые из сгенерированных вирусов смогли преодолеть устойчивость всего за 1-5 поколений, в то время как оригинальный фаг без ИИ-адаптации не справлялся. Работа открывает путь к «кастомной фаготерапии» — лечению, адаптированному под конкретную бактериальную угрозу.
#факт
@zen_of_python
🤔2
This media is not supported in your browser
VIEW IN TELEGRAM
skyvern | Скрейпинг с LLM + CV
Опираться при парсинге на DOM / xPath нынче не модно... Инструмент использует GPT и компьютерное зрение, чтобы «понимать» содержимое веб-страницы и выполнять нужные вам действия. Заодно и токенов сэкономите: ведь весь HTML-код страницы читать не требуется.
Доступен в РФ: да
Цена: бесплатно
@prog_tools
Опираться при парсинге на DOM / xPath нынче не модно... Инструмент использует GPT и компьютерное зрение, чтобы «понимать» содержимое веб-страницы и выполнять нужные вам действия. Заодно и токенов сэкономите: ведь весь HTML-код страницы читать не требуется.
Доступен в РФ: да
Цена: бесплатно
@prog_tools
✍2❤1
Python. Экспресс-курс
Книга для программистов, имеющих опыт с другими ЯП. В издании представлены актуальные возможности Python 3 с учетом последних 5 лет.
Последние главы книги посвящены работе с большими данными, что делает её полезной для тех, кто планирует использовать Python в аналитике и машинном обучении.
#книга
@zen_of_python
Книга для программистов, имеющих опыт с другими ЯП. В издании представлены актуальные возможности Python 3 с учетом последних 5 лет.
Последние главы книги посвящены работе с большими данными, что делает её полезной для тех, кто планирует использовать Python в аналитике и машинном обучении.
#книга
@zen_of_python
👍5🗿3❤1
Вопросы подписчиков
Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте.
#обсуждение
@zen_of_python
Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте.
#обсуждение
@zen_of_python
❤3
Смысл жизни по Монти Пайтону (1983)
Можно сколько угодно смотреть мемы про питонов, но язык назван в честь комиков Monty Python.
Если вам нужен фильм на выходные, и вы хотите знать, чем же так юмористы вдохновили создателя ЯП Гвидо ван Россума, посмотрите одну из их шедевральных полнометражек — «Смысл жизни по Монти Пайтону».
Это серия скетчей, каждый из которых как бы упражняет вашу способность справляться с абсурдом действительности. То выгоревшие страховщики, уплывшие покорять на корабле-доме другой континент, то дети, поющие о небогоугодных презервативах, то обжора, которого разрывает на части прямо в ресторане. Таких чеканутых сюжетов еще поискать.
#факт
@zen_of_python
Можно сколько угодно смотреть мемы про питонов, но язык назван в честь комиков Monty Python.
Если вам нужен фильм на выходные, и вы хотите знать, чем же так юмористы вдохновили создателя ЯП Гвидо ван Россума, посмотрите одну из их шедевральных полнометражек — «Смысл жизни по Монти Пайтону».
Это серия скетчей, каждый из которых как бы упражняет вашу способность справляться с абсурдом действительности. То выгоревшие страховщики, уплывшие покорять на корабле-доме другой континент, то дети, поющие о небогоугодных презервативах, то обжора, которого разрывает на части прямо в ресторане. Таких чеканутых сюжетов еще поискать.
#факт
@zen_of_python
❤🔥3😱1
А во сколько лет вы узнали, что можно использовать любое количество пробелов для отступа, главное, чтобы они были одинаковыми в пределах одного блока? Код ниже не выдаст ошибку (даже если вызвать say_hi():
#кек
@zen_of_python
#кек
@zen_of_python
👍8
Шпаргкалка SQL.pdf
1.2 MB
Шпаргалка SQL для собесов
Помимо базы еще полезное про:
— Вложенные запросы (CTE);
— JOIN'ы;
— Оконные функции;
— Подзапросы;
— SET;
— GROUP BY;
— LAG;
— CASE и проч.
#обучение
@zen_of_python
Помимо базы еще полезное про:
— Вложенные запросы (CTE);
— JOIN'ы;
— Оконные функции;
— Подзапросы;
— SET;
— GROUP BY;
— LAG;
— CASE и проч.
#обучение
@zen_of_python
❤4👍2
Что такое JSON и зачем он нужен
JSON (JavaScript Object Notation) — текстовый формат для обмена данными, удобный для людей и машин. Он возник в экосистеме JavaScript, но стал язык-независимым стандартом для API, конфигураций и документных хранилищ. Формат простой: объекты (пар «ключ: значение») и массивы — это основные строительные блоки.
Почему Python-разработчику это важно:
🔘 JSON часто используется в web-API, логах, конфигурациях и при обмене данными между сервисами.
🔘 Python имеет встроенный модуль json, который делает сериализует (Python → JSON) и десериализует (JSON → Python).
Синтаксис JSON
🔘 Строки — в двойных кавычках (
🔘 Логические значения — в нижнем регистре:
🔘 Отсутствующее значение —
🔘 Нельзя оставлять комментарии и нельзя ставить завершающие запятые после последнего элемента.
Валидный JSON:
Модуль json
Главные функции одноименного модуля стандартной библиотеки:
🔘
🔘
🔘
🔘
Эти функции следуют стандартному отображению типов: словари → объекты, списки → массивы, строки → строки, числа → числа,
Полезные параметры dumps / dump
При сериализации полезны параметры:
🔘
🔘
🔘
🔘
🔘
Маппинг типов
При загрузке JSON в Python выполняется обратное отображение типов:
*
*
*
*
*
*
JSON-ключи — всегда строки. Если у вас в исходном Python-словаре были числовые ключи (например
Полезные утилиты и приёмы
🔘
🔘 Онлайн-валидаторы (например, JSONLint) и редакторы с подсветкой помогут быстро найти синтаксические ошибки (комментарии, лишние запятые и т. п.).
Подборка примеров
Читаем JSON из файла:
Записываем с красивым форматированием:
Сериализуем datetime:
Проверяем валидность JSON в CLI
#основы
@zen_of_python
JSON (JavaScript Object Notation) — текстовый формат для обмена данными, удобный для людей и машин. Он возник в экосистеме JavaScript, но стал язык-независимым стандартом для API, конфигураций и документных хранилищ. Формат простой: объекты (пар «ключ: значение») и массивы — это основные строительные блоки.
Почему Python-разработчику это важно:
Синтаксис JSON
"..."
);true / false
(в Python — True / False
);null
(в Python → None
);Валидный JSON:
{
"name": "Frieda",
"isDog": true,
"hobbies": ["eating", "sleeping"],
"age": 8,
"address": {"home": ["Berlin", "Germany"], "work": null}
}
Модуль json
Главные функции одноименного модуля стандартной библиотеки:
json.dumps(obj, **opts)
— сериализует Python-объект в строку JSON;json.dump(obj, fp, **opts)
— сериализует и записывает в файл-объект;json.loads(s)
— парсит JSON-строку в Python-объект;json.load(fp)
— считывает JSON из файла и парсит.Эти функции следуют стандартному отображению типов: словари → объекты, списки → массивы, строки → строки, числа → числа,
True
/ False
→ true
/ false
, None
→ null
.
import json
data = {"name": "Frieda", "age": 8, "is_dog": True}
s = json.dumps(data) # --> '{"name": "Frieda", "age": 8, "is_dog": true}'
obj = json.loads(s) # --> {'name': 'Frieda', 'age': 8, 'is_dog': True}
Полезные параметры dumps / dump
При сериализации полезны параметры:
indent
— делает вывод читабельным (pretty print) (например, indent=2);sort_keys=True
— сортирует ключи объекта по алфавиту;separators
— позволяет контролировать символы между элементами (полезно для минификации);ensure_ascii=False
— по умолчанию json экранирует не-ASCII символы; если хотите сохранить UTF-8 в читаемом виде, ставьте False;skipkeys=True
— пропускает неподдерживаемые типы ключей вместо TypeError (использовать осторожно — вы можете потерять данные).Маппинг типов
При загрузке JSON в Python выполняется обратное отображение типов:
*
object
→ dict
*
array
→ list
*
string
→ str
*
number
→ int
/ float
*
true`/`false
→ True`/`False
*
null
→ None
JSON-ключи — всегда строки. Если у вас в исходном Python-словаре были числовые ключи (например
{1: "a"}`), при сериализации они станут строками (`"1"`). После `json.loads()
вы получите ключи как строки — Python не "угадает" исходный тип. Это частая ловушка при конвертации словарей ключами-числами.Полезные утилиты и приёмы
python -m json.tool
— встроенная утилита для форматирования/проверки JSON в терминале (можно использовать для prettify/minify);Подборка примеров
Читаем JSON из файла:
import json
with open("data.json", "r", encoding="utf-8") as f:
data = json.load(f)
Записываем с красивым форматированием:
with open("data_pretty.json", "w", encoding="utf-8") as f:
json.dump(data, f, indent=2, sort_keys=True, ensure_ascii=False)
Сериализуем datetime:
from datetime import datetime
import json
def default(o):
if isinstance(o, datetime):
return o.isoformat()
raise TypeError
json.dumps({"now": datetime.utcnow()}, default=default)
Проверяем валидность JSON в CLI
python -m json.tool input.json > /dev/null
# код возврата 0 — валидный JSON
#основы
@zen_of_python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10