Python для пацанов.
134 subscribers
2 photos
9 links
"Серьезный" разбор языка программирования Пайтон для серьезных пацанов.
Download Telegram
Введение

Приветствуем вас в кодовой камере, где клавиатура станет вашей лопатой для копа на волю, а умение шарить по кодам – круче любого козырного в кармане. "Питон для зеков. Программирование по понятиям" – это ваш конвой в мир IT, только здесь шмон и зона – слова из другой оперы. Мы здесь за дело, за реальный кайф от того, что ты сам куёшь своё будущее, не дожидаясь поблажек от системы.

Зачем выбрали Питон? Потому что он как крестный в мире языков программирования: простой для новичков, но с мощью и уважением среди профи. Питон – это тот парень, который не кинет в беде и поможет выйти на чистую даже самому зеленому зеку без блатных понятий о кодинге.

Мы пойдем от мелочи к крупным делам, но всегда на том же языке – без воды, строго по делу. Забудьте о зубрилове и пустой трепотне. Здесь вы научитесь дерзать коду, чтобы он работал на вас, решая задачи от мелких до крупных – будь то кинуть автомат на повторюху рутинных тасков или слепить свою схему-приложение.

"Питон для зеков" – это не энциклопедия для ботанов. Это руководство для тех, кто привык действовать, а не трындеть. Мы подобрали слова, чтобы даже те, кто до вчерашнего дня крутился во дворе без дела, смогли ухватить суть и начать штурмовать IT-вершины.

Каждый найдет здесь что-то свое, потому что мы знаем: не важно, в какой камере ты сидел, какие у тебя тату и сколько раз тебя переводили. Важно то, что с Питоном и этой книгой ты можешь начать строить планы на волю, где ты сам себе закон.

Так что добро пожаловать в школу, где учителя – коды, а дипломы пишутся на GitHub. Здесь каждый становится своим собственным боссом, а прошлые промахи – просто ступеньки к новому уровню. С Питоном и "Питоном для зеков" ты не просто выйдешь на чистую – ты выйдешь с фишкой, которая весит больше любых золотых цепей.

Приготовьтесь, товарищи. Перед вами разгорается кодовая вольница, где каждая строка – это шаг к свободе. Поехали!
🔥3
Channel photo updated
Давайте разберемся с арсеналом, который Питон дает на вооружение. Как и в любой зоне, где каждый старается выжить и выйти победителем, в программировании есть свои фишки – структуры данных, которые помогают держать все под контролем и не дать себя загнать в угол.

Лист (List)
Лист в Питоне – это как связка ключей у смотрящего: в одном месте держишь всё, что угодно, и сколько угодно. Можешь добавлять элементы, удалять их, менять местами, как карты в руке. Хочешь третий элемент из списка вытащить? Легко. Нужно проверить, есть ли чего в твоей связке? Список ответит. И главное – растет связка, как на дрожжах, если надо. Только помни, порядок здесь жесткий, как распорядок дня: каждая вещь на своем месте, каждый элемент под своим номером.

Кортеж (Tuple)
Кортеж – это уже более строгий режим. Всё так же, как в списке, но только без возможности менять состав. Считай, что это татуировка: раз сделал – носи. Зато можно быть уверенным, что никто и ничто не изменит твои данные, как бы не шалил. Кортеж – выбор для тех, кто ценит постоянство и надежность, как блатной, что держит слово до конца.

Словарь (Dict)
А вот словарь – это уже целая сеть связей, где каждому дается место по понятиям. Ты определяешь, кто есть кто: это может быть номер телефона по имени, адрес по фамилии, или что угодно другое. Каждая пара "ключ-значение" – это как двойник, где один без другого никуда. Хочешь найти что-то? Дай ключ, и значение тут как тут. Словарь – для тех, кто умеет строить связи и держать всё под контролем.

Множество (Set)
Множество – это как встреча на зоне без повторов. Тут каждый элемент уникален, дубликаты не пройдут. Это идеальный выбор, когда нужно удержать только уникальные значения, как среди крупных авторитетов. Попытка добавить еще одного такого же – и он просто растворится, не оставив следа. Проверять, есть ли кто-то в "сборище", или сколько всего "участников" – проще простого.

Понимание этих структур данных – как разговор на понятиях: знаешь основы – можешь держать ситуацию под контролем. Владение ими дает свободу действий, как умение найти выход из любой передряги.
😁4
Давайте разберем на конкретных примерах, как эти арсеналы данных работают на практике, чтобы вы могли начать крутить ими, как карманными ножами.

Лист (List) - связка ключей для всего подряд

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

# Создаем связку
моя_связка = ["лезвие", "спички", "нитка", "кнопка"]

# Добавляем еще одну вещь
моя_связка.append("пуговица")

# Удаляем что-то ненужное
моя_связка.remove("спички")

# Проверяем, есть ли лезвие в связке
if "лезвие" in моя_связка:
print("Лезвие на месте, можно работать.")

# Выводим, что у нас есть в связке
print("В связке есть:", моя_связка)


Кортеж (Tuple) - тату на всю жизнь

Закрепим на вечно то, что нам важно и что не должно меняться.

# Создаем кортеж
мой_арсенал = ("консервный нож", "фонарик", "компас")

# Проверяем, есть ли фонарик
if "фонарик" in мой_арсенал:
print("С фонариком все четко, в темноте не заблудимся.")

# Выводим наш арсенал
print("Мой арсенал:", мой_арсенал)


Словарь (Dict) - карманная книга связей

Словарь поможет нам не потеряться в своих контактах и быстро находить нужную информацию.

# Создаем словарь
мои_контакты = {"Шурик": "8-800-555-35-35", "Барсик": "8-999-123-45-67"}

# Добавляем новый контакт
мои_контакты["Лис"] = "8-925-777-88-99"

# Удаляем старый контакт
del мои_контакты["Шурик"]

# Получаем номер Барсика
номер_барсика = мои_контакты.get("Барсик")

print("Звоним Барсику по номеру:", номер_барсика)


Множество (Set) - уникальная встреча без повторов

Соберем уникальные предметы, чтобы не было дублей.

# Создаем множество
моя_коллекция = set(["брелок", "монета", "брелок", "значок"])

# Добавляем новый предмет
моя_коллекция.add("фишка")

# Удаляем лишний предмет
моя_коллекция.discard("монета")

# Проверяем, есть ли значок в коллекции
if "значок" in моя_коллекция:
print("Значок на месте, коллекция ценнее.")

# Выводим уникальную коллекцию
print("Моя уникальная коллекция:", моя_коллекция)


Эти примеры кода – ваш первый шаг в мире Питона. С ними вы начнете чувствовать себя более уверенно, как новенький, который в первый день на зоне нашел общий язык с крутыми ребятами.
🔥5
В мире кода, как и в зоне, чтобы держать все под контролем, нужно уметь повторять свои действия до победного и знать, как реагировать на разные ситуации. В Питоне для этого есть циклы и ветвления – своего рода правила общежития, которые помогают держать дела под катом.

Циклы

Цикл for – Круговая порука
Представь, ты на раздаче, и каждому по очереди что-то достается. Цикл for работает так же: перебирает всех по очереди и делает свое дело с каждым, кто попадается под руку.

# Круговая порука для каждого в списке
for каждого in ["Шурик", "Барсик", "Лис"]:
    print(каждого, "получает свою порцию")

# Результат:
# Шурик получает свою порцию
# Барсик получает свою порцию
# Лис получает свою порцию


Цикл while – Пока не сбежишь
Этот цикл – как дежурство у ворот: делай что-то, пока не получишь знак остановиться. Если условие истинно – действуй, как только условие ложно – сворачиваем лавочку.

# Считаем, сколько раз можно подтянуться
подтягивания = 0
while подтягивания < 10:
    подтягивания += 1
    print("Подтягивание", подтягивания)

# Как только достигнем 10 – конец циклу


Ветвления

If – Если че
Как на разборке: если ситуация такая – делаем одно, если иначе – делаем другое. Если твой номерок вызвали – идешь вперед, нет – стоишь на месте.

# Проверяем, хватит ли фарту на выходной
фарт = 7
if фарт > 5:
    print("Сегодня твой день, братан!")
else:
    print("Сиди на месте, не твоя пока очередь.")


Elif – А если еще че
Как допрос с пристрастием: если первое не прошло, может, второе сработает? А если и оно мимо, тогда уж остается третий вариант.

# Выбираем, как провести вечер
настроение = "среднечок"
if настроение == "отлично":
    print("На дворе встречаемся, будет шумно!")
elif настроение == "так себе":
    print("Пойдем в камеру, посидим по-тихому.")
else:
    print("Сегодня по одиночке, братан.")


Итак, циклы и ветвления – это твои шаги и маневры в коде, которые помогут найти выход из любой ситуации, будь то сборка долгов или решение, как лучше устроить кутузку. Умея их использовать, ты будешь держать все под контролем, как настоящий авторитет.
😁7👍1
В мире Питона, как и на зоне, бывают моменты, когда нужно быстро решить, как поступить в зависимости от обстоятельств. Если if-elif-else – это выбор между несколькими вариантами на разборке, то match case – это как выбор действий в зависимости от кодового слова. Это новшество, как свежий ветер для старых методов, позволяет четко и быстро распределить, что и как делать, основываясь на конкретном значении.

Match Case – Кодовые слова на разветке

Представь себе, ты стоишь на разветке, и от того, что тебе скажут, зависит твой следующий шаг. Match case – это именно такая ситуация, только в коде. Ты получаешь сообщение, и в зависимости от его содержания, ты знаешь, как реагировать.

# Пример с кодовыми словами
кодовое_слово = "картошка"

match кодовое_слово:
    case "морковка":
        print("Сегодня в арестантской кухне день витаминов.")
    case "картошка":
        print("Значит, будет драка за ведро.")
    case "лук":
        print("Слезы будут, но не от грусти.")
    case _:
        print("Если ничего не подошло, значит, своя каша у каждого.")


Такой подход дает тебе простой и чистый способ реагировать на разные ситуации, не заморачиваясь с длинными цепочками if-elif-else. Это как иметь карманный справочник по кодам поведения: видишь знак – знаешь, что делать.

Использование match case в Питоне – это признак того, что ты не просто крутишься в системе, но и знаешь, как изящно и эффективно использовать ее правила в свою пользу. Это как иметь связку ключей от всех дверей: знаешь, какой ключ куда подходит, и без лишнего шума проходишь, куда тебе нужно.
😁3💯1🫡1
В мире кода, как и на зоне, есть свои законы братства, по которым все держится. Объектно-ориентированное программирование (ООП) – это как кодекс чести в этом мире, где каждый знает свое место и роль. Разберем основные принципы ООП на языке, понятном не только кодерам, но и тем, кто уважает законы улиц.

Классы и Объекты – Бригады и Ребята

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

class Бригада:
def __init__(self, название):
self.название = название

def показать_знак(self):
print(f"Это бригада {self.название}, у нас свои правила.")


Объекты – это конкретные ребята из бригады. Если класс – это общие правила и навыки, то объект – это каждый, кто эти правила и навыки применяет на деле. Создавая объект класса, ты как бы говоришь: "Вот этот парень – из нашей бригады, и он все это умеет".

мой_парень = Бригада("Законники")
мой_парень.показать_знак()


Наследование – Кровные Связи

Наследование – это когда младшая бригада берет все законы и умения старшей, добавляя что-то от себя. Это как передача знаний и правил от отца к сыну, только в коде. Так младшие могут использовать все, что узнали старшие, не переучиваясь с нуля.

class СтаршаяБригада(Бригада):
def показать_силу(self):
print(f"Бригада {self.название} теперь еще и это умеет.")


Инкапсуляция – Свои Знают

Инкапсуляция – это как закрытые встречи в узком кругу. Не все должны знать, что происходит внутри бригады. Ты ограничиваешь доступ к информации, делая ее видимой только для тех, кто действительно в теме. Это помогает избежать ненужных глаз и ушей, когда решаются важные вопросы.

class Бригада:
def __init__(self, название, секрет):
self.название = название
self.__секрет = секрет # Секрет, доступный только внутри класса

def показать_секрет(self):
print(f"Только для бригады {self.название}: {self.__секрет}")


Полиморфизм – Разные Лица

Полиморфизм – это когда один и тот же приказ может быть выполнен разными способами в зависимости от того, кто его выполняет. Это как если бы ты сказал "Сделай дело" разным парням, и каждый сделал бы это по-своему, используя свои уникальные навыки.

class Бригадир:
def выполнить_дело(self):
print("Бригадир делает дело своим способом.")

class Солдат(Бригадир):
def выполнить_дело(self):
print("Солдат делает то же самое, но по-солдатски.")


Вот так, братан, в мире ООП, как и на зоне, все держится на уважении к законам, на передаче знаний, на умении держать рот на замке и на способности каждого показать себя, когда приходит его время. Это те основы, которые делают код крепким, как братство за колючей проволокой.
😁7👍1
Зен Питона – это как кодекс настоящего зека, только для кодеров. Вот как это звучит, если перевести на язык улицы и закона:

1. Лучше легко, чем тяжело. - Круче когда просто, без заморочек.
2. Ясность круче загадочности. - Будь на виду, не втирай дичь.
3. Просто – это лучше, чем сложно. - Чем проще, тем понятнее. Не усложняй.
4. Сложно – это лучше, чем запутанно. - Если уж сложно, пусть будет по делу, а не как в паутине.
5. Разговор по делу лучше молчанки. - Лучше выкладывай все как есть, чем затыкаться.
6. Но молчанка золото, когда ляпнуть нечего. - Если сказать нечего толкового, лучше замолчи.
7. В строчке должен быть кайф. - Каждая строка кода должна быть на своем месте, как слово в законе.
8. Но не настолько, чтобы всюду его искать. - Не ищи кайф там, где его нет.
9. Лучше один раз увидеть, чем сто раз услышать. - Лучше сам погляди, чем сто раз послушаешь.
10. Если реализация трудно объяснить – идея фигня. - Если не можешь на пальцах объяснить, значит, задумка гнила.
11. Если реализацию легко объяснить – идея может быть кайфовой. - Если в двух словах понятно, задумка может быть золотой.
12. Пространства имен – это одна крутая фишка, стоит их делать чаще. - Как свои карманы для хабара, так что не забывай их присваивать.

Это как не писаные законы на зоне, которые помогают держать порядок и уважение. Только здесь – не для зеков, а для тех, кто в коде. Следуя этим правилам, ты будешь шарить в Питоне, как настоящий крестный отец в ИТ.

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

#ЗенПитона
😁5