uz
Feedback
Программистика

Программистика

Yopiq kanal

Лучший канал про python Ссылка для друга: https://t.me/+Ai6ughKtf5g2ZmFi Купить рекламу: https://telega.in/c/+Ai6ughKtf5g2ZmFi Админ: @JeyRahol По рекламе: @ReivuManager

Ko'proq ko'rsatish
5 598
Obunachilar
+2924 soatlar
-57 kunlar
-8730 kunlar
Postlar arxiv
👀 Книга: Начнем. Python. Просто о сложном ⏺ПЕРЕМЕННЫЕ ⏺АРИФМЕТИЧЕСКИЕ ОПЕРАТОРЫ ⏺ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ ⏺МАТЕМАТИЧЕСКИЕ ФУНКЦИ
👀 Книга: Начнем. Python. Просто о сложном ⏺ПЕРЕМЕННЫЕ ⏺АРИФМЕТИЧЕСКИЕ ОПЕРАТОРЫ ⏺ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ ⏺МАТЕМАТИЧЕСКИЕ ФУНКЦИИ ⏺РЕКУРСИЯ ⏺СТРОКИ ⏺МНОЖЕСТВО И многое другое @programistica // #doc

🌐 Python Paradigms Python — это многоцелевой язык программирования, который поддерживает несколько парадигм программирования. Вот основные парадигмы, поддерживаемые Python: Императивное программирование Императивное программирование — это стиль программирования, при котором программы описывают последовательность шагов, которые компьютер должен выполнить. В Python это достигается с помощью переменных, операторов присваивания, циклов и условных операторов.
# Императивный стиль
result = 0
for i in range(1, 11):
    result += i
print(result)
Объектно-ориентированное программирование (ООП) ООП — это парадигма, основанная на концепции "объектов", которые могут содержать данные (атрибуты) и код (методы). Python поддерживает ООП, предоставляя классы и объекты.
class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def bark(self):
        print(f"{self.name} says woof!")

# Создание объекта класса Dog
my_dog = Dog("Buddy", 3)
my_dog.bark()  # Вывод: Buddy says woof!
Функциональное программирование Функциональное программирование — это парадигма, где вычисления рассматриваются как оценка математических функций и избегается изменение состояния и мутабельных данных. Python поддерживает функциональное программирование через функции высшего порядка, лямбда-выражения и функции из модуля functools.
# Функция высшего порядка
def apply_function(func, value):
    return func(value)

# Лямбда-выражение
square = lambda x: x * x

# Использование функции высшего порядка
result = apply_function(square, 5)
print(result)  # Вывод: 25
Процедурное программирование Процедурное программирование — это стиль, при котором программы организуются в виде процедур или функций. Это подмножество императивного программирования.
def add(a, b):
    return a + b

def main():
    result = add(3, 4)
    print(result)

if __name__ == "__main__":
    main()
Логическое программирование (ограниченная поддержка) Хотя Python не является логическим языком программирования, он может использовать библиотеки, такие как pyDatalog, для поддержки логического программирования.
from pyDatalog import pyDatalog

pyDatalog.create_terms('X, Y, Z, father')

+father('John', 'Mary')
+father('John', 'Tom')
+father('Tom', 'Jerry')

print(father(X, Y))  # Вывод: список всех пар (X, Y), где X является отцом Y
Асинхронное программирование Асинхронное программирование позволяет писать код, который выполняется асинхронно, что полезно для ввода-вывода и сетевых операций. В Python это достигается с помощью ключевых слов async и await.
import asyncio

async def say_hello():
    await asyncio.sleep(1)
    print("Hello")

async def main():
    await say_hello()

asyncio.run(main())
Python является гибким языком, который поддерживает несколько парадигм программирования, что делает его подходящим для широкого спектра задач — от простых скриптов до сложных систем. Выбор парадигмы зависит от конкретной задачи и предпочтений разработчика. @programistica // #article

Git и GitHub: Революция в управлении кодом и совместной разработке Git: Система контроля версий Git — это распределенная система контроля версий, созданная Линусом Торвальдсом в 2005 году. Торвальдс, известный как создатель ядра операционной системы Linux, разработал Git для управления развитием ядра Linux, чтобы обеспечить более эффективное и надежное управление изменениями в коде. Основные особенности Git: ⏺Распределенная архитектура: Каждый разработчик имеет полную копию всех версий проекта, что обеспечивает высокую надежность и возможность работы в автономном режиме. ⏺Ветвление и слияние: Git позволяет легко создавать и объединять ветки, что упрощает параллельную разработку и интеграцию изменений. ⏺Высокая производительность: Git оптимизирован для быстрой работы, даже с большими проектами. ⏺Целостность данных: Git использует криптографические хеши для обеспечения целостности данных, что делает невозможным незаметное изменение истории коммитов. GitHub: Платформа для совместной разработки GitHub, основанный в 2008 году, стал крупнейшей платформой для хостинга кода и предоставления инструментов для совместной работы разработчиков. GitHub использует Git в качестве системы контроля версий и предлагает множество дополнительных функций для упрощения и улучшения процесса разработки. Основные особенности GitHub: ⏺Репозитории: GitHub позволяет создавать и управлять репозиториями, где хранится весь код проекта и история изменений. ⏺Возможности для совместной работы: Разработчики могут создавать pull requests для предложений изменений, проводить код-ревью и обсуждать улучшения. ⏺Интеграция с CI/CD: GitHub легко интегрируется с системами непрерывной интеграции и доставки, что позволяет автоматизировать тестирование и деплой проектов. ⏺Социальные функции: GitHub предоставляет возможности для взаимодействия с сообществом, включая следование за проектами, участие в обсуждениях и создание личных профилей. ⏺GitHub Actions: Платформа для автоматизации рабочих процессов, позволяющая создавать и запускать CI/CD пайплайны прямо в репозиториях GitHub. Влияние на индустрию Git и GitHub произвели революцию в управлении кодом и совместной разработке. Они стали стандартом де-факто для большинства разработчиков и компаний по всему миру. Благодаря этим инструментам, разработчики могут эффективно сотрудничать, независимо от их географического положения, и создавать более качественное программное обеспечение. Преимущества использования Git и GitHub: ⏺Упрощение совместной работы: Разработчики могут легко работать над одним проектом, не опасаясь конфликтов и потерь данных. ⏺История изменений: Все изменения в коде сохраняются, что позволяет отслеживать и при необходимости откатывать изменения. ⏺Открытый исходный код: GitHub стал домом для множества проектов с открытым исходным кодом, способствуя развитию и распространению свободного программного обеспечения. ⏺Обучение и карьерный рост: GitHub предоставляет отличную возможность для начинающих разработчиков учиться у опытных коллег и демонстрировать свои навыки потенциальным работодателям. Git и GitHub продолжают играть ключевую роль в современном мире разработки программного обеспечения, предоставляя мощные инструменты для управления кодом и совместной работы. Эти технологии не только улучшили процессы разработки, но и способствовали созданию глобального сообщества разработчиков, объединенных общей целью — создание качественного и инновационного программного обеспечения.

👀 Книга: Математические алгоритмы для программистов. 3D-графика, машинное обучение и моделирование на Python ⏺Математика в п
👀 Книга: Математические алгоритмы для программистов. 3D-графика, машинное обучение и моделирование на Python ⏺Математика в программном коде ⏺Векторы и графика ⏺Математический анализ и моделирование физического мира ⏺Машинное обучение И многое другое @programistica // #doc

🖼️ Библиотека Python: Redis-py Redis-py — это официальная Python-библиотека для взаимодействия с Redis, высокопроизводительной системой хранения данных в памяти, используемой для кэширования, управления сеансами и многого другого. Она предоставляет простой и интуитивно понятный интерфейс для выполнения всех команд Redis, включая операции с ключами, обработку данных и выполнение транзакций. ⚙️ Пример использования
    import redis

    # Подключение к локальному серверу Redis
    client = redis.Redis(host='localhost', port=6379, db=0)

    # Установка ключа и значения
    client.set('name', 'Alice')
    print("Установлен ключ 'name' со значением 'Alice'")

    # Получение значения по ключу
    name = client.get('name').decode('utf-8')
    print(f"Значение ключа 'name': {name}")

    # Увеличение значения ключа
    client.set('counter', 1)
    client.incr('counter')
    counter_value = client.get('counter').decode('utf-8')
    print(f"Значение ключа 'counter' после увеличения: {counter_value}")

    # Работа со списками
    client.rpush('mylist', 'item1')
    client.rpush('mylist', 'item2')
    client.rpush('mylist', 'item3')
    mylist = client.lrange('mylist', 0, -1)
    mylist = [item.decode('utf-8') for item in mylist]
    print(f"Значения в списке 'mylist': {mylist}")

    # Работа с хэшами
    client.hset('myhash', 'field1', 'value1')
    client.hset('myhash', 'field2', 'value2')
    myhash = client.hgetall('myhash')
    myhash = {k.decode('utf-8'): v.decode('utf-8') for k, v in myhash.items()}
    print(f"Значения в хэше 'myhash': {myhash}")

    # Удаление ключа
    client.delete('name')
    print("Ключ 'name' удалён")

    # Проверка существования ключа
    exists = client.exists('name')
    print(f"Ключ 'name' существует: {bool(exists)}")
Этот пример демонстрирует подключение к серверу Redis, установку и получение значений по ключам, работу со списками и хэшами, а также удаление ключей и проверку их существования. ✔️ Установка
    pip install redis
Ссылка на документацию @programistica // #Library

🤑 Первое коммерческое программное обеспечение: Программа для бухгалтерского учета IBM 701 В истории программного обеспечения существует множество значимых вех, но одной из самых важных и интересных является создание первого коммерческого программного обеспечения. Эта программа, выпущенная компанией IBM в 1951 году, была предназначена для бухгалтерского учета и работала на компьютере IBM 701. Исторический контекст В середине 20-го века компьютеры были огромными машинами, занимающими целые комнаты, и использовались в основном для научных и военных целей. Программы для этих машин писались вручную и были специфичны для каждой задачи. Однако с развитием бизнеса и промышленности возникла потребность в автоматизации различных бизнес-процессов, включая бухгалтерский учет. IBM 701: Первый коммерчески доступный компьютер IBM 701, также известный как "Defense Calculator", был первым массово производимым компьютером от IBM. Он был выпущен в 1952 году и предназначался для научных расчетов и военных приложений. Однако IBM быстро поняла, что этот компьютер может быть полезен и для бизнеса. Программа для бухгалтерского учета Программа для бухгалтерского учета, разработанная IBM, стала первым коммерческим программным обеспечением. Она была создана для автоматизации бухгалтерских операций, таких как расчет заработной платы, учет материальных ценностей и финансовая отчетность. Это позволило компаниям значительно сократить время и усилия, затрачиваемые на эти задачи, и повысить точность расчетов. Влияние на индустрию Выпуск первого коммерческого программного обеспечения имел огромное значение для развития индустрии информационных технологий. Он показал, что компьютеры могут быть полезны не только в научных и военных целях, но и в бизнесе. Это стало началом новой эры, в которой программное обеспечение стало важным компонентом для автоматизации и оптимизации бизнес-процессов. Наследие Сегодня программное обеспечение является неотъемлемой частью нашей жизни. От бухгалтерских программ до сложных систем управления предприятием (ERP) — все это стало возможным благодаря первому шагу, сделанному IBM в 1951 году. Программа для бухгалтерского учета на IBM 701 заложила основы для развития коммерческого программного обеспечения и показала, что компьютеры могут значительно улучшить эффективность и производительность бизнеса. Эта история является ярким примером того, как инновации в области технологий могут изменить мир и открыть новые возможности для бизнеса и общества. @programistica // #article

💻 Вопрос из собеседования: Чем func отличается от func()? Для правильного ответа на вопрос важно понимать, что любая функция
💻 Вопрос из собеседования: Чем func отличается от func()? Для правильного ответа на вопрос важно понимать, что любая функция в Python может быть объектом. Поэтому func() представляет собой обычную функцию в классическом ее понимании, а func — объект, представляющий функцию. Его можно передать другой функции или переменной.
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥
@programistica // #jobs

💻 Менеджер пакетов python Conda Conda — это мощный менеджер пакетов и сред, который позволяет легко устанавливать, обновлять и управлять пакетами и зависимостями в различных окружениях. Он особенно полезен для научных вычислений и анализа данных, так как поддерживает установку пакетов, которые могут быть сложными для установки через стандартный менеджер пакетов pip. Установка Conda Conda обычно устанавливается вместе с Anaconda или Miniconda: ⏺Anaconda — это дистрибутив, включающий более 1,500 пакетов для научных вычислений и анализа данных. ⏺Miniconda — это минимальная версия Anaconda, которая включает только Conda и его зависимости. Вы можете установить только те пакеты, которые вам нужны. Скачать Anaconda или Miniconda можно с официального сайта: ⏺AnacondaMiniconda Основные команды Conda ⏺Создание новой среды:
   conda create --name myenv
Где myenv — это имя новой среды. ⏺Активировать среду:
   conda activate myenv
⏺Деактивировать среду:
   conda deactivate
⏺Список всех сред:
   conda env list
⏺Удаление среды:
   conda remove --name myenv --all
➡️Управление пакетами ⏺Установка пакета:
   conda install numpy
Где numpy — это имя пакета. ⏺Установка конкретной версии пакета:
   conda install numpy=1.18.1
⏺Обновление пакета:
   conda update numpy
⏺Удаление пакета:
   conda remove numpy
⏺Список установленных пакетов:
   conda list
➡️Управление каналами Каналы — это хранилища пакетов. По умолчанию Conda использует канал defaults, но вы можете добавлять и использовать другие каналы, такие как conda-forge. ⏺Добавление канала:
   conda config --add channels conda-forge
⏺Просмотр списка каналов:
   conda config --get channels
⏺Удаление канала:
   conda config --remove channels conda-forge
👩‍💻Пример использования
# Создаем новую среду с Python 3.8
conda create --name myenv python=3.8

# Активируем созданную среду
conda activate myenv

# Устанавливаем необходимые пакеты
conda install numpy pandas matplotlib

# Проверяем установленные пакеты
conda list

# Деактивируем среду после работы
conda deactivate
Conda значительно упрощает управление зависимостями и средами, что делает его незаменимым инструментом для разработчиков и исследователей данных. @programistica // #article

🗑 Первое программное обеспечение с открытым исходным кодом Первой программой с открытым исходным кодом считается операционная система GNU, созданная Ричардом Столлманом в 1983 году. Этот проект сыграл ключевую роль в развитии движения за свободное программное обеспечение и оказал значительное влияние на всю индустрию программного обеспечения. История создания GNU Ричард Столлман, будучи сотрудником Лаборатории искусственного интеллекта Массачусетского технологического института (MIT), столкнулся с растущими ограничениями в использовании программного обеспечения. В то время многие компании начали закрывать исходный код своих программ, что препятствовало пользователям вносить изменения и делиться программами. В ответ на это Столлман решил создать полностью свободную операционную систему, которая бы предоставляла пользователям полную свободу в использовании, модификации и распространении программного обеспечения. В сентябре 1983 года Столлман объявил о начале проекта GNU (рекурсивный акроним, означающий "GNU's Not Unix") и вскоре основал Фонд свободного программного обеспечения (Free Software Foundation, FSF) для поддержки разработки GNU. Принципы свободного программного обеспечения Проект GNU был основан на четырех основных свободах, которые определяют свободное программное обеспечение: ⏺Свобода использования: Пользователь имеет право использовать программу для любых целей. ⏺Свобода изучения: Пользователь может изучать, как программа работает, и изменять её для своих нужд. Для этого необходим доступ к исходному коду. ⏺Свобода распространения: Пользователь может распространять копии программы, помогая другим. ⏺Свобода улучшения: Пользователь может улучшать программу и публиковать свои улучшения, чтобы вся общественность могла извлечь из этого пользу. Вклад GNU в развитие открытого исходного кода Проект GNU разработал множество важных компонентов операционной системы, включая компилятор GCC (GNU Compiler Collection), текстовый редактор Emacs, утилиты командной строки и многие другие инструменты. Однако ключевым элементом, который отсутствовал в GNU, было ядро операционной системы. В 1991 году Линус Торвальдс выпустил ядро Linux, которое вместе с компонентами GNU составило полноценную операционную систему. Это сочетание стало известно как GNU/Linux и стало одной из самых популярных и широко используемых операционных систем с открытым исходным кодом. Влияние на современное программное обеспечение Проект GNU и философия свободного программного обеспечения оказали глубокое влияние на развитие программного обеспечения с открытым исходным кодом. Сегодня множество популярных проектов, таких как Linux, Apache, Mozilla Firefox и многие другие, следуют принципам свободного программного обеспечения, предоставляя пользователям свободу использования, модификации и распространения программ. Фонд свободного программного обеспечения продолжает свою деятельность, продвигая идеалы свободного программного обеспечения и поддерживая разработку новых проектов. Ричард Столлман и проект GNU заложили основы для движения, которое изменило подход к разработке и использованию программного обеспечения, сделав его более открытым и доступным для всех. @programistica // #article

Изучите применение ChatGPT в рабочих целях, чтобы получить от этого прибыль. Сейчас самое время начать использовать искусственный интеллект. Здесь вы узнаете, почему стоит освоить ChatGPT. Это поможет вам: - Использовать ChatGPT в вашей профессиональной сфере. - Предлагать компаниям разработку индивидуально дообученного ChatGPT по заказу. - Увеличить свой доход, освоив навык создания индивидуально дообученного ChatGPT. Зарегистрируйтесь на бесплатный вебинар, чтобы узнать больше деталей. Реклама. ООО "ТЕРРА ЭЙАЙ". ИНН 9728019395. erid: LjN8K7SKF

👀 Книга: Основы искусственного интеллекта в примерах на Python ⏺Инструментальные средства для разработки приложений искусств
👀 Книга: Основы искусственного интеллекта в примерах на Python ⏺Инструментальные средства для разработки приложений искусственного интеллекта ⏺Основы языка программирования Python ⏺Элементы искусственного интеллекта ⏺Программная реализация элементов нейронной сети ⏺Построение многослойных нейронных сетей И многое другое @programistica // #doc

🛡 Переполнение памяти Переполнение памяти (buffer overflow) возникает, когда программа пытается записать больше данных в буфер, чем он может вместить, что приводит к перезаписи смежных участков памяти. Эта уязвимость может быть использована злоумышленниками для выполнения произвольного кода или нарушения работы программы, и она стала причиной многих известных кибератак, начиная с червя Morris в 1988 году и вплоть до современных эксплойтов. Устранение таких уязвимостей требует тщательного контроля за обработкой входных данных и использованием безопасных функций для работы с памятью. @programistica // #article

💻 Вопрос из собеседования: Как проверить Python-файл на синтаксические ошибки, но не запускать его? В экосистеме Python есть
💻 Вопрос из собеседования: Как проверить Python-файл на синтаксические ошибки, но не запускать его? В экосистеме Python есть утилита py_compile. С ее помощью можно проверить файл на синтаксические ошибки, но не запускать его. Для этого в терминале необходимо ввести следующую команду:
python -m py_compile file.py
На месте file.py должно быть название вашего файла. Перед вызовом утилиты py_compile надо обязательно указать флаг -m.
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥
@programistica // #jobs

Знания, профессиональный английский и хороший юмор — набор любого айтишника🔥 А быть в тренде и качать необходимые скиллы пом
Знания, профессиональный английский и хороший юмор — набор любого айтишника🔥 А быть в тренде и качать необходимые скиллы помогут наши каналы: Библиотека Кодера — книги, ресурсы, шпаргалки и статьи для разработчиков CodeLang — английский язык в IT-сфере JSON → Айти Memes — мемы для программистов и айтишников

🛡 Регулярные выражения в python Регулярные выражения (regex) в Python используются для поиска, соответствия и манипулирования строками на основе шаблонов. В Python регулярные выражения реализованы в модуле re. Вот основные функции и примеры их использования: Основные функции модуля re:re.match(): Проверяет, соответствует ли начало строки заданному шаблону. ⏺re.search(): Ищет шаблон в строке и возвращает первый найденный совпадающий объект. ⏺re.findall(): Находит все совпадения шаблона в строке и возвращает их в виде списка. ⏺re.finditer(): Находит все совпадения шаблона и возвращает их в виде итератора. ⏺re.sub(): Заменяет все совпадения шаблона на заданную строку. ⏺re.split(): Разделяет строку по заданному шаблону. 👩‍💻Примеры использования:
import re

# Пример строки
text = "The rain in Spain falls mainly in the plain."

# 1. re.match()
match = re.match(r'The', text)
if match:
    print("Match found:", match.group())
else:
    print("No match found")

# 2. re.search()
search = re.search(r'rain', text)
if search:
    print("Search found:", search.group())
else:
    print("No search found")

# 3. re.findall()
findall = re.findall(r'in', text)
print("Findall results:", findall)

# 4. re.finditer()
finditer = re.finditer(r'in', text)
for match in finditer:
    print("Finditer match:", match.group(), "at position", match.start())

# 5. re.sub()
substitute = re.sub(r'rain', 'snow', text)
print("Substitute result:", substitute)

# 6. re.split()
split = re.split(r'\s', text)
print("Split result:", split)
Объяснение примера: ➡️re.match(r'The', text): Проверяет, начинается ли строка text с "The". ➡️re.search(r'rain', text): Ищет первое вхождение "rain" в строке text. ➡️re.findall(r'in', text): Находит все вхождения "in" в строке text. ➡️re.finditer(r'in', text): Возвращает итератор, который перебирает все вхождения "in" в строке text. ➡️re.sub(r'rain', 'snow', text): Заменяет все вхождения "rain" на "snow" в строке text. ➡️re.split(r'\s', text): Разделяет строку text по пробелам (символы пробела). Дополнительные примеры шаблонов:\d: Любая цифра. ⏺\D: Любой символ, кроме цифры. ⏺\w: Любая буква, цифра или символ подчеркивания. ⏺\W: Любой символ, кроме буквы, цифры или символа подчеркивания. ⏺\s: Любой пробельный символ. ⏺\S: Любой непробельный символ. ⏺.: Любой символ, кроме новой строки. ⏺^: Начало строки. ⏺$: Конец строки. ⏺*: 0 или более повторений. ⏺+: 1 или более повторений. ⏺?: 0 или 1 повторение. ⏺{n}: Ровно n повторений. ⏺{n,}: n или более повторений. ⏺{n,m}: От n до m повторений. Регулярные выражения — мощный инструмент для работы с текстом, и они могут быть полезны в самых разных задачах, от простой проверки ввода до сложного парсинга текста. @programistica // #article

🤖 Эффект "Hello, World!" Эффект "Hello, World!" — это популярное верование среди программистов, согласно которому написание и успешный запуск программы, выводящей на экран фразу "Hello, World!", приносит удачу начинающим разработчикам и служит благоприятным началом в изучении нового языка программирования. Эта традиция, зародившаяся в 1970-х годах, не только символизирует первый шаг в освоении программирования, но и помогает новичкам преодолеть психологический барьер, связанный с началом изучения чего-то нового, предоставляя простую, но в то же время полноценную задачу для реализации. Таким образом, "Hello, World!" стал не только учебным инструментом, но и своеобразным ритуалом, символизирующим вступление в мир программирования и технологий. @programistica // #article

Хеш-таблицы в python Хеш-таблицы — это структуры данных, которые позволяют эффективно хранить и извлекать данные с использованием хеш-функций. В Python хеш-таблицы реализованы с помощью встроенного типа данных dict (словарь). Основные концепции хеш-таблиц 👀Хеш-функция: Преобразует ключ в индекс массива, где будет храниться значение. 👀Коллизии: Ситуации, когда два разных ключа имеют одинаковый хеш. Разрешаются с помощью различных методов, таких как цепочки (chaining) или открытая адресация (open addressing). Словари в Python Словарь — это неупорядоченная коллекция пар "ключ-значение", где каждый ключ уникален. Словари обеспечивают быстрый доступ к значениям по ключам благодаря использованию хеш-таблицы. Примеры использования словарей 👀Создание и инициализация словаря
# Создание пустого словаря
my_dict = {}

# Создание словаря с начальными значениями
my_dict = {
    "ключ1": "значение1",
    "ключ2": "значение2",
    "ключ3": "значение3"
}
👀Добавление и обновление элементов
my_dict["ключ4"] = "значение4"  # Добавление нового элемента
my_dict["ключ2"] = "новое значение2"  # Обновление значения существующего ключа
👀Доступ к элементам
value = my_dict["ключ1"]  # Получение значения по ключу

# Использование метода get для безопасного доступа
value = my_dict.get("ключ5", "значение по умолчанию")  # Возвращает "значение по умолчанию", если ключ не найден
👀Удаление элементов
del my_dict["ключ3"]  # Удаление элемента по ключу

value = my_dict.pop("ключ4", "значение по умолчанию")  # Удаление и возврат значения по ключу
👀Проверка наличия ключа
if "ключ1" in my_dict:
    print("ключ1 присутствует в словаре")
👀Итерация по словарю
# Итерация по ключам
for key in my_dict:
    print(key, my_dict[key])

# Итерация по значениям
for value in my_dict.values():
    print(value)

# Итерация по парам ключ-значение
for key, value in my_dict.items():
    print(key, value)
👀Пример использования словаря Рассмотрим пример, в котором мы используем словарь для подсчета количества вхождений каждого слова в тексте:
def word_count(text):
    words = text.split()
    counts = {}
    
    for word in words:
        word = word.lower()  # Приводим слово к нижнему регистру для учета разных регистров
        if word in counts:
            counts[word] += 1
        else:
            counts[word] = 1
    
    return counts

text = "Python is great and Python is fun"
result = word_count(text)

for word, count in result.items():
    print(f"Слово '{word}' встречается {count} раз(а)")
Описание кода: ⏺Функция word_count: Принимает текст, разбивает его на слова и использует словарь для подсчета количества вхождений каждого слова. ⏺Нормализация слов: Приводим слова к нижнему регистру для учета разных регистров. ⏺Подсчет слов: Используем словарь counts для хранения количества вхождений каждого слова. ⏺Вывод результата: Итерируем по словарю и выводим количество вхождений каждого слова. Словари — это мощный и гибкий инструмент для работы с данными. Они обеспечивают быстрый доступ к значениям по ключам, благодаря использованию хеш-таблиц, и широко используются в различных задачах программирования. @programistica // #article

👀 Книга: Автостопом по Python ⏺Выбираем интерпретатор ⏺Правильная установка Python ⏺Пишем отличный код ⏺Читаем отличный код
👀 Книга: Автостопом по Python ⏺Выбираем интерпретатор ⏺Правильная установка Python ⏺Пишем отличный код ⏺Читаем отличный код ⏺Взаимодействие с пользователем ⏺Программные интерфейсы И многое другое @programistica // #doc

🖼️ Библиотека Python: PyAutoGUI PyAutoGUI — это библиотека для автоматизации графического интерфейса пользователя, позволяющая программно управлять мышью и клавиатурой. Она предоставляет функции для перемещения курсора, нажатия клавиш, кликов мыши, а также для захвата и анализа скриншотов, что делает её полезной для создания сценариев автоматизации и тестирования. ⚙️ Пример использования
import pyautogui
import time

# Задержка для подготовки (например, чтобы переключиться на другое окно)
time.sleep(3)

# Перемещение курсора мыши в координаты (100, 100)
pyautogui.moveTo(100, 100, duration=1)

# Клик мышью в текущей позиции курсора
pyautogui.click()

# Напечатать текст "Hello, PyAutoGUI!"
pyautogui.write('Hello, PyAutoGUI!', interval=0.1)

# Нажать клавишу Enter
pyautogui.press('enter')

# Сделать скриншот экрана и сохранить его в файл
screenshot = pyautogui.screenshot()
screenshot.save('screenshot.png')

print("Скрипт выполнен успешно!")
Этот скрипт выполняет следующие действия: ⏺Ждет 3 секунды, чтобы вы могли переключиться на нужное окно. ⏺Перемещает курсор мыши в координаты (100, 100) за 1 секунду. ⏺Кликает мышью в текущей позиции курсора. ⏺Печатает текст "Hello, PyAutoGUI!" с интервалом 0.1 секунды между символами. ⏺Нажимает клавишу Enter. ⏺Делает скриншот экрана и сохраняет его в файл screenshot.png. ✔️ Установка
pip install pyautogui
Ссылка на документацию @programistica // #Library

🛡Первый компьютерный вирус Первый компьютерный вирус, известный как "Creeper", был создан в начале 1970-х годов. Его разработал Боб Томас, работающий в компании BBN Technologies. Creeper был создан не с целью причинения вреда, а как эксперимент для исследования возможностей самовоспроизводящихся программ. Creeper распространялся по сети ARPANET, предшественнице современного интернета. Он заражал компьютеры DEC PDP-10, работающие под управлением операционной системы TENEX. Когда вирус проникал в систему, на экране появлялось сообщение: "I'M THE CREEPER: CATCH ME IF YOU CAN" (Я Creeper: Поймай меня, если сможешь). Чтобы бороться с Creeper, был создан первый антивирус, известный как "Reaper". Reaper был разработан для поиска и удаления Creeper с зараженных систем. Таким образом, история первого вируса также включает создание первого антивирусного программного обеспечения. Хотя Creeper не наносил вреда системам, его появление ознаменовало начало эпохи компьютерных вирусов и антивирусного программного обеспечения, что стало важной частью истории кибербезопасности. @programistica // #article