ch
Feedback

不要被骗子欺骗!Telemetrio 会找到并标记这些频道 👉 如果想查看标记,请订阅

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

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

关闭频道

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

显示更多
5 770
订阅者
-424 小时
+57 天
-8730 天
帖子存档
💻 Вопрос из собеседования: Как объединить два массива? Помните, что массивы — это не списки. Это библиотека Numpy и здесь ра
💻 Вопрос из собеседования: Как объединить два массива? Помните, что массивы — это не списки. Это библиотека Numpy и здесь работает линейная алгебра. Для объединения массивов нужно использовать соответствующую функцию Numpy:
import numpy as np

a = np.array([1,2,3])
b = np.array([4,5,6])

np.concatenate((a,b))
#=> array([1, 2, 3, 4, 5, 6])
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥
@programistica // #jobs

👀 Книга: Python. Непрерывная интеграция и доставка ⏺Автоматическое тестирование ⏺Модульное тестирование в Python ⏺Непрерывна
👀 Книга: Python. Непрерывная интеграция и доставка ⏺Автоматическое тестирование ⏺Модульное тестирование в Python ⏺Непрерывная интеграция с Jenkins ⏺Непрерывная доставка ⏺Сборка пакетов ⏺Распространение пакетов Debian ⏺Развертывание пакетов И многое другое @programistica // #doc

Попробуйте себя в роли специалиста по кибербезопасности на мини-курсе Skillbox. За 5 дней вы познакомитесь с профессией и нау
Попробуйте себя в роли специалиста по кибербезопасности на мини-курсе Skillbox. За 5 дней вы познакомитесь с профессией и научитесь защищать веб-серверы. Примерите роль хакера — перехватите пароль и подделаете письмо. А потом обезвредите ПО и поймёте, хотите ли развиваться дальше в этом направлении. Подробнее по ссылке: https://epic.st/XQd7QI?erid=2VtzqvG4pRW В программе мини-курса: — Основы профессии и прослушка трафика. — Как создавать и различать поддельные письма. — Как взломать сервер и обезвредить угрозу взлома. — Какие бывают методы защиты серверов. Чтобы выполнять практические задания, вам нужно установить VirtualBox — систему для запуска учебных виртуальных машин. Ссылку на установку пришлём после регистрации на мини-курс. На финальном вебинаре вы обсудите со спикером практические задания и сможете задать вопросы, возникшие в ходе курса. Спикер — Сергей Кручинин, проверяющий эксперт в Skillbox. Руководил проектами в Mail.ru Group, работал в WEBINAR.RU, ГК Astra Linux, МИФИ, МГТУ им. Н. Э. Баумана. Всех участников ждут бонусы: 5 полезных материалов о приёмах взлома, методах защиты и тестирования серверов, персональная карьерная консультация, сертификат на скидку 10 000 рублей и год бесплатного изучения английского языка. Первый бонус — сразу после регистрации! Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880

⚙️ Работа с файлами с использованием менеджера контекста Работа с файлами в Python часто включает в себя открытие файла, чтение из него или запись в него и, наконец, закрытие файла. Одним из наиболее эффективных и безопасных способов управления файлами является использование менеджера контекста с ключевым словом with. Этот подход не только упрощает код, но и автоматически заботится о закрытии файла после завершения работы, даже если в процессе выполнения возникли исключения. Принцип работы Менеджер контекста в Python реализован через протокол контекстного менеджера, который определяется методами __enter__ и __exit__. Когда выполнение кода входит в блок with, вызывается метод __enter__ объекта. После завершения выполнения кода в блоке with (или при возникновении исключения) автоматически вызывается метод __exit__, который и заботится о корректном закрытии файла или освобождении ресурсов. Примеры использования ⏺Запись в файл
with open('example.txt', 'w') as file:
    file.write('Привет, Python!')
В этом примере файл example.txt открывается для записи ('w'). Всё, что записывается в файл внутри блока with, будет автоматически сохранено, а файл закрыт после выхода из блока. ⏺Чтение из файла
with open('example.txt', 'r') as file:
    content = file.read()
    print(content)
Здесь файл example.txt открывается для чтения ('r'). Содержимое файла считывается и выводится на экран. После выхода из блока with файл автоматически закрывается, что предотвращает утечку ресурсов или возможные ошибки при попытке доступа к уже закрытому файлу. Преимущества использования менеджера контекста ⏺Автоматическое закрытие файла: Менеджер контекста автоматически закрывает файл по завершении работы с ним, что уменьшает риск ошибок и утечек ресурсов. ⏺Упрощение кода: Использование with делает код более читаемым и упрощает управление ресурсами. ⏺Обработка исключений: Менеджер контекста обеспечивает корректное закрытие файла даже в случае возникновения исключений внутри блока with. Использование менеджера контекста при работе с файлами в Python является лучшей практикой, обеспечивающей более безопасный и удобный способ управления файловыми ресурсами. @programistica // #article

💻 Вопрос из собеседования: В чем разница между глубокой и мелкой копиями? Обсудим это в контексте изменяемого объекта — спис
💻 Вопрос из собеседования: В чем разница между глубокой и мелкой копиями? Обсудим это в контексте изменяемого объекта — списка. Для неизменяемых объектов глубокое и мелкое (поверхностное) копирование обычно не отличаются. Рассмотрим три сценария. ⏺Поставьте ссылку на исходный объект. Она отсылает новое имя li2 к тому же месту в памяти, на которое указывает li1. Поэтому любое изменение в li1 также происходит с li2:
li1 = [['a'],['b'],['c']]
li2 = li1

li1.append(['d'])
print(li2)
#=> [['a'], ['b'], ['c'], ['d']]
⏺Создайте мелкую копию оригинала. Ее можно создать с помощью конструктора list() или mylist.copy(). Мелкая копия создает новый объект, но заполняет его ссылками на оригинал. Таким образом, добавление нового объекта в исходный список li3 не отразится в li4, а вот изменение объектов в li3 — отразится:
li3 = [['a'],['b'],['c']]
li4 = list(li3)

li3.append([4])
print(li4)
#=> [['a'], ['b'], ['c']]

li3[0][0] = ['X']
print(li4)
#=> [[['X']], ['b'], ['c']]
⏺Создайте глубокую копию. Это делается с помощью copy.deepcopy(). Оригинал и копия полностью независимы, а изменения в одном не оказывают никакого влияния на другой:
import copy

li5 = [['a'],['b'],['c']]
li6 = copy.deepcopy(li5)

li5.append([4])
li5[0][0] = ['X']
print(li6)
#=> [['a'], ['b'], ['c']]
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥
@programistica // #jobs

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

🖼️ Библиотека Python: Elasticsearch-dsl Elasticsearch-dsl - это высокоуровневая библиотека для работы с Elasticsearch на языке Python. Она предоставляет более удобный и питонический API для создания запросов и обработки ответов от Elasticsearch. ⚙️ Пример использования
from datetime import datetime
from elasticsearch_dsl import Document, Date, Integer, Keyword, Text
from elasticsearch_dsl.connections import connections

# Определение класса для документа
class Article(Document):
    title = Text(analyzer='snowball', fields={'raw': Keyword()})
    body = Text(analyzer='snowball')
    tags = Keyword()
    published_from = Date()
    lines = Integer()

    class Index:
        name = 'blog'
        settings = {
          "number_of_shards": 2,
        }

    def save(self, ** kwargs):
        self.lines = len(self.body.split())
        return super(Article, self).save(** kwargs)

# Создание соединения
connections.create_connection(hosts=['localhost'])

# Создание индекса
Article.init()

# Создание и сохранение статьи
article = Article(meta={'id': 42}, title='Hello world!', tags=['test'])
article.body = ''' looong text '''
article.published_from = datetime.now()
article.save()

# Применение поиска
s = Article.search().query('match', title='Hello')
response = s.execute()

for hit in response:
    print(hit.meta.score, hit.title)
В этом примере мы создаем класс Article для представления документа, который мы хотим сохранить в Elasticsearch. Затем мы создаем новый документ, сохраняем его и выполняем поиск по заголовку. ✔️ Установка
pip install elasticsearch-dsl
⛓ Ссылка на документацию @programistica // #Library

Разбираем как решать задачи на LeetCode ✅ Примеры решений ✅ Пояснения Выбери своё направление: 1. Python 2. JavaScript 3. Jav
Разбираем как решать задачи на LeetCode ✅ Примеры решений ✅ Пояснения Выбери своё направление: 1. Python 2. JavaScript 3. Java 4. C# 5. Golang 6. С/C++ 7. PHP 8. Kotlin 9. Swift

💻 Вопрос из собеседования: В чем разница между func и func()? Вопрос должен проверить ваше понимание, что все функции в Pyth
💻 Вопрос из собеседования: В чем разница между func и func()? Вопрос должен проверить ваше понимание, что все функции в Python также являются объектами:
def func():
    print('Im a function')

func
#=> function __main__.func>
func()    
#=> Im a function
func — это представляющий функцию объект, который можно назначить переменной или передать другой функции. Функция func() с круглыми скобками вызывает функцию и возвращает результат.
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥
@programistica // #jobs

🖼️ Библиотека Python: SymPy SymPy - это библиотека Python для символьных математических вычислений. Она поддерживает символы, алгебраические выражения, дифференциальное и интегральное исчисление, решение уравнений и другие возможности символьной математики. ⚙️ Пример использования
from sympy import symbols, Eq, solve

# Определение символов
x = symbols('x')

# Определение уравнения
equation = Eq(x**2 - 5*x + 6, 0)

# Решение уравнения
solution = solve(equation, x)

print('Решения уравнения: ', solution)
В этом примере мы создаем символ x, определяем уравнение x**2 - 5*x + 6 = 0 и используем функцию solve для нахождения решений этого уравнения. Результат будет выведен на экран. ✔️ Установка
pip install sympy
⛓ Ссылка на документацию @programistica // #Library

⚙️ Работа с файлами с использованием менеджера контекста Работа с файлами в Python часто включает в себя открытие файла, чтение из него или запись в него и, наконец, закрытие файла. Одним из наиболее эффективных и безопасных способов управления файлами является использование менеджера контекста с ключевым словом with. Этот подход не только упрощает код, но и автоматически заботится о закрытии файла после завершения работы, даже если в процессе выполнения возникли исключения. Принцип работы Менеджер контекста в Python реализован через протокол контекстного менеджера, который определяется методами __enter__ и __exit__. Когда выполнение кода входит в блок with, вызывается метод __enter__ объекта. После завершения выполнения кода в блоке with (или при возникновении исключения) автоматически вызывается метод __exit__, который и заботится о корректном закрытии файла или освобождении ресурсов. Примеры использования ⏺Запись в файл
with open('example.txt', 'w') as file:
    file.write('Привет, Python!')
В этом примере файл example.txt открывается для записи ('w'). Всё, что записывается в файл внутри блока with, будет автоматически сохранено, а файл закрыт после выхода из блока. ⏺Чтение из файла
with open('example.txt', 'r') as file:
    content = file.read()
    print(content)
Здесь файл example.txt открывается для чтения ('r'). Содержимое файла считывается и выводится на экран. После выхода из блока with файл автоматически закрывается, что предотвращает утечку ресурсов или возможные ошибки при попытке доступа к уже закрытому файлу. Преимущества использования менеджера контекста ⏺Автоматическое закрытие файла: Менеджер контекста автоматически закрывает файл по завершении работы с ним, что уменьшает риск ошибок и утечек ресурсов. ⏺Упрощение кода: Использование with делает код более читаемым и упрощает управление ресурсами. ⏺Обработка исключений: Менеджер контекста обеспечивает корректное закрытие файла даже в случае возникновения исключений внутри блока with. Использование менеджера контекста при работе с файлами в Python является лучшей практикой, обеспечивающей более безопасный и удобный способ управления файловыми ресурсами.

На одних курсах далеко не уедешь! 🐱 Этот канал — настоящая имба для айтишника: • Как обойти блокировку Docker • Чем заменить Slack, пока он не заблочил твой акк • Лучший ИИ ассистент для написания кода Прокачай свои скиллы вместе с Git Разработчика

👀 Книга: Программируем с Minecraft ⏺Телепортация с помощью переменных ⏺Математик а, моментальное строительство и суперпрыжки
👀 Книга: Программируем с Minecraft ⏺Телепортация с помощью переменных ⏺Математик а, моментальное строительство и суперпрыжки ⏺Общаемся с помощью строк ⏺«Истина» и «ложь» булевых значений ⏺Конструкция if, душ и потайная дверь И многое другое @programistica // #doc

⚙️ getattr(), setattr(), и hasattr() в python В Python, getattr(), setattr(), и hasattr() — это встроенные функции, которые предоставляют динамический доступ к атрибутам объекта. Эти функции делают код более гибким и позволяют работать с атрибутами объектов, имена которых могут быть неизвестны на момент написания кода. getattr() Функция getattr() возвращает значение атрибута объекта. Если атрибут не существует, можно определить возвращаемое значение по умолчанию. Синтаксис:
getattr(object, 'attribute', default=None)
⏺object — объект, атрибут которого требуется получить. ⏺'attribute' — строка, имя атрибута. ⏺default — значение, которое вернется, если атрибут не найден (необязательный параметр). setattr() Функция setattr() устанавливает значение атрибута объекта. Если атрибут не существует, он будет создан. Синтаксис:
setattr(object, 'attribute', value)
⏺object — объект, атрибут которого требуется установить или создать. ⏺attribute' — строка, имя атрибута. ⏺value — значение, которое нужно установить для атрибута. hasattr() Функция hasattr() проверяет, существует ли атрибут у объекта. Синтаксис:
hasattr(object, 'attribute')
⏺object — объект для проверки наличия атрибута. ⏺'attribute' — строка, имя атрибута для проверки. Эти функции очень полезны при работе с атрибутами объектов, особенно когда вы работаете с динамическими или неизвестными заранее данными. Они обеспечивают дополнительную гибкость и мощь при проектировании архитектуры программ на Python. @programistica // #article

💻 Вопрос из собеседования: В чем разница между is и ==? Если кратко: is проверяет идентичность, а == проверяет равенство. Ра
💻 Вопрос из собеседования: В чем разница между is и ==? Если кратко: is проверяет идентичность, а == проверяет равенство. Рассмотрим пример. Создайте несколько списков и назначьте им имена. Обратите внимание, что ниже b указывает на тот же объект, что и a:
a = [1,2,3]
b = a
c = [1,2,3]
Проверьте равенство и обратите внимание, что все объекты равны:
print(a == b)
print(a == c)
#=> True
#=> True
Но являются ли все они идентичными? Нет:
print(a is b)
print(a is c)
#=> True
#=> False
Можем проверить это, распечатав их идентификаторы объектов:
print(id(a))
print(id(b))
print(id(c))
#=> 4369567560
#=> 4369567560
#=> 4369567624
Идентификатор c отличается от идентификатора a и b.
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥
@programistica // #jobs

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

👀 Книга: Python для программирования криптовалют ⏺Конечные поля ⏺Эллиптические кривые ⏺Криптография по эллиптическим кривым
👀 Книга: Python для программирования криптовалют ⏺Конечные поля ⏺Эллиптические кривые ⏺Криптография по эллиптическим кривым ⏺Сериализация ⏺Транзакции ⏺Язык Script И многое другое @programistica // #doc

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

# Конфигурация логирования: установка уровня логирования и формата вывода сообщений
logger.add("debug.log", format="{time} {level} {message}", level="DEBUG")

# Примеры логирования на разных уровнях
logger.debug("Это сообщение отладки")
logger.info("Это информационное сообщение")
logger.warning("Это предупреждение")
logger.error("Это сообщение об ошибке")
logger.critical("Это критическое сообщение")

try:
    1 / 0
except ZeroDivisionError:
    # Автоматический захват и логирование исключений
    logger.exception("Произошла ошибка:")

# Логирование с использованием контекста
with logger.contextualize(user_id=123456):
    logger.info("Это сообщение содержит дополнительный контекст")

# Логирование в файл
logger.add("file.log", rotation="100 KB")
logger.info("Это сообщение будет сохранено в файле")
В этом примере демонстрируются основные функции Loguru: ⏺Конфигурация логгера для записи сообщений в файл debug.log с определенным форматом. ⏺Логирование сообщений разного уровня важности. ⏺Автоматический захват исключений и логирование их с помощью logger.exception. ⏺Использование контекста для добавления дополнительной информации к логам. ⏺Ведение логов в файл с автоматической ротацией по достижению размера файла в 100 KB. Loguru делает процесс логирования в Python более удобным и гибким, предоставляя простой интерфейс и мощные возможности для управления логами. ✔️ Установка
pip install loguru
⛓ Ссылка на документацию @programistica // #Library

Ну, меня немного занесло, и я что-то сильно всë расписал

2. Наследование Наследование позволяет новому классу перенимать атрибуты и методы уже существующего класса. Это облегчает повторное использование кода.
# Определение базового класса Vehicle
class Vehicle:
    # Конструктор класса Vehicle, принимающий имя и скорость транспортного средства
    def __init__(self, name, speed):
        self.name = name  # Инициализация атрибута name
        self.speed = speed  # Инициализация атрибута speed

    # Метод для получения скорости транспортного средства
    def get_speed(self):
        return self.speed  # Возвращает скорость транспортного средства

# Определение класса Car, который наследует класс Vehicle
class Car(Vehicle):
    # Конструктор класса Car, принимающий имя, скорость и пробег автомобиля
    def __init__(self, name, speed, mileage):
        super().__init__(name, speed)  # Вызов конструктора базового класса Vehicle для инициализации name и speed
        self.mileage = mileage  # Инициализация атрибута mileage, уникального для класса Car

    # Метод для получения пробега автомобиля
    def get_mileage(self):
        return self.mileage  # Возвращает пробег автомобиля

# Создание экземпляра класса Car с именем "Toyota", скоростью 150 и пробегом 20000
car = Car("Toyota", 150, 20000)

# Вывод скорости и пробега автомобиля, используя методы get_speed и get_mileage
print(car.get_speed(), car.get_mileage())
Этот код иллюстрирует принцип наследования в ООП, где класс Car расширяет функциональность базового класса Vehicle, добавляя к нему новый атрибут mileage и метод get_mileage() для его получения. Класс Car наследует атрибуты и методы класса Vehicle, что позволяет использовать их в экземплярах класса Car. Таким образом, Car является специализированным типом Vehicle, обладающим всеми его свойствами, а также дополнительным свойством — пробегом. 3. Полиморфизм Полиморфизм — это способность одного и того же кода работать с объектами разных типов.
# Определение класса Dog
class Dog:
    # Метод speak, специфичный для класса Dog
    def speak(self):
        return "Woof!"  # Возвращает звук, который издает собака

# Определение класса Cat
class Cat:
    # Метод speak, специфичный для класса Cat
    def speak(self):
        return "Meow!"  # Возвращает звук, который издает кошка

# Функция, демонстрирующая полиморфизм
def get_pet_sound(pet):
    # Выводит звук, который издает животное
    # Аргумент pet может быть объектом любого класса, имеющего метод speak
    print(pet.speak())

# Создание экземпляра класса Dog и вызов функции get_pet_sound
get_pet_sound(Dog())  # Выводит "Woof!"

# Создание экземпляра класса Cat и вызов функции get_pet_sound
get_pet_sound(Cat())  # Выводит "Meow!"
В этом примере функция get_pet_sound() принимает объект pet в качестве аргумента и вызывает его метод speak(). Благодаря полиморфизму, функция может работать с объектами различных классов, если у этих классов есть метод speak(). Это позволяет писать более универсальный и гибкий код, который может работать с объектами разных типов, не зная их конкретной реализации.