Программистика
قناة بسيطة
Лучший канал про python Ссылка для друга: https://t.me/+Ai6ughKtf5g2ZmFi Купить рекламу: https://telega.in/c/+Ai6ughKtf5g2ZmFi Админ: @JeyRahol По рекламе: @ReivuManager
إظهار المزيد5 770
المشتركون
-424 ساعات
+57 أيام
-8730 أيام
أرشيف المشاركات
5 766
Бесплатный мини-курс Skillbox — то, что нужно для дизайнеров, мечтающих о карьере в IT. Узнайте, как создавать удивительные пользовательские интерфейсы, которые перевернут представление об опыте пользователей.
За пять дней вы освоите ключевые принципы UX/UI-дизайна, научитесь работать в Figma и создадите свой первый проект. Скорее записывайтесь: https://epic.st/r8kMFf?erid=2VtzqxH25aZ
В программе:
— Знакомимся с профессией UX/UI-дизайнера
— Делаем крутой проект в Figma
— Погружаемся в нюансы UX/UI-дизайна
— Ищем новых заказчиков
Спикеры:
— Дмитрий Матвеев, арт-директор Wildberries. 15 лет в дизайне, создаёт сервисы, которыми пользуются 30 миллионов человек в месяц, ведёт вебинары и образовательные курсы по дизайну
— Максим Чистов, основатель и арт-директор студии Nine Squares. Работал со «СберМаркетом», ВКонтакте, Disney, AliExpress
🎉 Вас ждут подарки: скидка 10 000 рублей на любой курс Skillbox, гайды и книги для старта в профессии, персональная карьерная консультация и год бесплатного изучения английского языка.
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
5 766
📔 Кучи, стеки и очереди в python
Давайте рассмотрим кучи, стеки и очереди в Python, их особенности и примеры использования.
➡️Кучи (Heaps)
Куча — это специализированная структура данных, которая удовлетворяет свойству кучи: в мин-куче каждый родительский узел меньше или равен своим дочерним узлам, а в макс-куче каждый родительский узел больше или равен своим дочерним узлам. В Python для работы с кучами используется модуль heapq.
👩💻Пример использования кучи:
import heapq
# Создание пустой кучи
heap = []
# Добавление элементов в кучу
heapq.heappush(heap, 10)
heapq.heappush(heap, 1)
heapq.heappush(heap, 5)
# Извлечение минимального элемента
min_element = heapq.heappop(heap)
print(min_element) # Вывод: 1
# Преобразование списка в кучу
numbers = [3, 2, 8, 1, 7]
heapq.heapify(numbers)
print(numbers) # Вывод: [1, 2, 8, 3, 7]
➡️Стек (Stack)
Стек — это структура данных, работающая по принципу LIFO (Last In, First Out), где последний добавленный элемент извлекается первым. В Python стек можно реализовать с помощью списка.
👩💻Пример использования стека:
stack = []
# Добавление элементов в стек
stack.append(1)
stack.append(2)
stack.append(3)
# Извлечение элементов из стека
top_element = stack.pop()
print(top_element) # Вывод: 3
# Проверка верхнего элемента стека без извлечения
top_element = stack[-1]
print(top_element) # Вывод: 2
➡️Очередь (Queue)
Очередь — это структура данных, работающая по принципу FIFO (First In, First Out), где первый добавленный элемент извлекается первым. В Python очередь можно реализовать с помощью модуля collections.deque или модуля queue.
👩💻Пример использования очереди с collections.deque:
from collections import deque
# Создание пустой очереди
queue = deque()
# Добавление элементов в очередь
queue.append(1)
queue.append(2)
queue.append(3)
# Извлечение элементов из очереди
first_element = queue.popleft()
print(first_element) # Вывод: 1
# Проверка первого элемента очереди без извлечения
first_element = queue[0]
print(first_element) # Вывод: 2
👩💻Пример использования очереди с queue.Queue:
from queue import Queue
# Создание пустой очереди
queue = Queue()
# Добавление элементов в очередь
queue.put(1)
queue.put(2)
queue.put(3)
# Извлечение элементов из очереди
first_element = queue.get()
print(first_element) # Вывод: 1
# Проверка размера очереди
size = queue.qsize()
print(size) # Вывод: 2
Эти структуры данных полезны в различных сценариях, таких как управление задачами, обработка данных и реализация алгоритмов.
@programistica // #article5 766
💻 Первый язык программирования высокого уровня
Первым языком программирования высокого уровня считается FORTRAN (сокращение от "FORmula TRANslation"), который был разработан в 1950-х годах группой инженеров под руководством Джона Бэкуса в IBM. Разработка началась в 1953 году, а первый компилятор FORTRAN был выпущен в 1957 году.
Основные особенности FORTRAN:
➡️
Цель создания: Основной целью создания FORTRAN было облегчение процесса программирования для ученых и инженеров, занимающихся сложными математическими и научными расчетами. До появления FORTRAN большинство программ писались на ассемблере, что было трудоемким и подверженным ошибкам процессом.
➡️Синтаксис и простота: FORTRAN был разработан с учетом простоты использования. Его синтаксис был более понятным и близким к математическим формулам, что делало его доступным для ученых, не имеющих глубоких знаний в области программирования.
➡️Производительность: FORTRAN изначально был оптимизирован для выполнения на мейнфреймах IBM, что обеспечивало высокую производительность. Компилятор FORTRAN был способен генерировать эффективный машинный код, что делало программы, написанные на этом языке, весьма быстрыми.
➡️Стандартные библиотеки: FORTRAN включал в себя набор стандартных библиотек для выполнения математических операций, работы с массивами и обработки ввода-вывода, что значительно упрощало разработку программ.
➡️Универсальность и расширяемость: FORTRAN оказался настолько успешным и универсальным, что он продолжал развиваться и обновляться на протяжении десятилетий. Были выпущены различные версии языка, такие как FORTRAN IV, FORTRAN 77, Fortran 90, Fortran 95 и т.д., каждая из которых добавляла новые возможности и улучшения.
Вклад FORTRAN в развитие программирования:
⏺Стандартизация: FORTRAN стал первым языком программирования, который был стандартизирован. В 1966 году был принят первый стандарт языка FORTRAN, что обеспечило совместимость и переносимость программ между различными системами.
⏺Влияние на другие языки: FORTRAN оказал значительное влияние на разработку других языков программирования. Многие концепции и идеи, впервые реализованные в FORTRAN, были заимствованы и адаптированы в других языках.
⏺Научные и инженерные приложения: FORTRAN стал де-факто стандартом для научных и инженерных приложений. До сих пор многие численные модели и симуляции, особенно в области физики, метеорологии и инженерии, написаны на FORTRAN.
⏺Долговечность: Несмотря на появление множества новых языков программирования, FORTRAN продолжает использоваться и сегодня благодаря своей эффективности и надежности. Он остается важным инструментом для численных расчетов и научных исследований.
Таким образом, FORTRAN стал важной вехой в истории программирования, заложив основы для разработки более сложных и мощных языков программирования высокого уровня.
@programistica // #article5 766
👀 Книга: Python с нуля
Куда записывать код?
Что такое программа?
Как Python читает код?
Математические Операторы в Python
Работаем с числами
Строки и функция печати
БУЛЕВА ЛОГИКА
И многое другое
@programistica // #doc
5 766
🖼️ Библиотека Python: Pyo
Pyo — это мощная библиотека для Python, предназначенная для работы со звуком, которая предоставляет широкий набор инструментов для цифровой обработки сигналов и генерации звуков. Она позволяет создавать сложные аудиоэффекты и музыкальные композиции, обеспечивая высокую производительность и гибкость в реализации аудиопроектов.
⚙️ Пример использования
from pyo import *
# Инициализация сервера Pyo
server = Server().boot()
# Запуск сервера
server.start()
# Создание осциллятора с синусоидальным сигналом
frequency = 440 # Частота в Герцах
amplitude = 0.5 # Амплитуда сигнала
sine_wave = Sine(freq=frequency, mul=amplitude).out()
# Задержка для воспроизведения звука в течение 5 секунд
time.sleep(5)
# Остановка сервера
server.stop()
Этот пример создаёт и воспроизводит простой синусоидальный звук с частотой 440 Гц (частота ноты Ля).
✔️ Установка
pip install pyo
⛓ Ссылка на документацию
@programistica // #Library5 766
Реально ли изучить основы кибербезопасности за 5 дней? Ответим на этот вопрос на мини-курсе. Вы узнаете, как защищать и взламывать серверы, а также познакомитесь с методами протоколов безопасности и не только.
Подробнее: https://epic.st/h_pI1m?erid=2Vtzqvwkabb
Вас ждут 4 интенсивных занятия, на которых вы сможете примерить на себя 2 роли — хакера и специалиста по кибербезопасности. А в финале будет прямой эфир с экспертом, где он разберёт практические работы, ответит на вопросы и поделится профессиональными секретами.
Всех участников ждут бонусы: 5 полезных материалов о приёмах взлома, методах защиты и тестирования серверов, персональная карьерная консультация, сертификат на скидку 10 000 рублей и год бесплатного изучения английского языка.
Доступ к знаниям и практике сразу после регистрации!
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
5 766
💻 Вопрос из собеседования: Как работают any() и all()?
Any возвращает
true, если хоть один элемент в последовательности соответствует условию, то есть является true.
All возвращает true только в том случае, если условию соответствуют все элементы в последовательности.
a = [False, False, False]
b = [True, False, False]
c = [True, True, True]
print( any(a) )
print( any(b) )
print( any(c) )
#=> False
#=> True
#=> True
print( all(a) )
print( all(b) )
print( all(c) )
#=> False
#=> False
#=> True
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥@programistica // #jobs
5 766
🛡Лямбда в python
Лямбда-функции в Python — это небольшие анонимные функции, которые создаются с помощью ключевого слова
lambda. Они могут принимать любое количество аргументов, но содержат только одно выражение. Лямбда-функции часто используются для создания небольших, одноразовых функций, которые передаются в качестве аргументов другим функциям, таким как map, filter и sorted.
➡️Синтаксис лямбда-функции
lambda аргументы: выражение
👀Лямбда-функция для сложения двух чисел:
add = lambda x, y: x + y
print(add(5, 3)) # Вывод: 8
👀Использование с функцией map:
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x ** 2, numbers))
print(squared) # Вывод: [1, 4, 9, 16, 25]
👀Использование с функцией filter:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers) # Вывод: [2, 4, 6, 8, 10]
👀Использование с функцией sorted:
points = [(1, 2), (3, 1), (5, -1), (0, 0)]
sorted_points = sorted(points, key=lambda point: point[1])
print(sorted_points) # Вывод: [(5, -1), (0, 0), (3, 1), (1, 2)]
Лямбда-функции удобны для использования в ситуациях, когда требуется небольшая функция, и нет необходимости её явно определять с помощью def.5 766
🖼️ Библиотека Python: Dask
Dask — это библиотека для параллельных вычислений в Python, которая позволяет эффективно обрабатывать большие объемы данных, используя как локальные, так и распределенные вычисления. Она интегрируется с популярными библиотеками, такими как NumPy, Pandas и Scikit-Learn, предоставляя удобные инструменты для масштабирования вычислений на кластерах.
⚙️ Пример использования
import dask.dataframe as dd
# Создаем Dask DataFrame из CSV-файла
df = dd.read_csv('your_large_dataset.csv')
# Выполняем некоторые операции с DataFrame
# Например, считаем среднее значение в столбце 'column_name'
mean_value = df['column_name'].mean().compute()
print(f'Среднее значение столбца: {mean_value}')
# Фильтруем строки, где значения в 'column_name' больше среднего
filtered_df = df[df['column_name'] > mean_value]
# Сохраняем отфильтрованные данные в новый CSV-файл
filtered_df.to_csv('filtered_dataset.csv', single_file=True)
print("Фильтрация завершена и данные сохранены в 'filtered_dataset.csv'")
Этот код выполняет следующие шаги:
⏺Создает Dask DataFrame из большого CSV-файла.
⏺Вычисляет среднее значение в указанном столбце.
⏺Фильтрует строки, где значения в столбце больше среднего.
⏺Сохраняет отфильтрованные данные в новый CSV-файл.
✔️ Установка
pip install dask
⛓ Ссылка на документацию
@programistica // #Library5 766
👀 Книга: Язык программирования Python: практикум. Учебное пособие
⏺ЯЗЫКИ ПРОГРАММИРОВАНИЯ
⏺ТИПЫ ДАННЫХ И ОПЕРАЦИИ ЯЗЫКА PYTHON
⏺ИНСТРУКЦИИ, ФУНКЦИИ, МОДУЛИ В ЯЗЫКЕ PYTHON
⏺ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В ЯЗЫКЕ PYTHON
⏺РАЗРАБОТКА ГРАФИЧЕСКИХ ИНТЕРФЕЙСОВ В ПРОГРАММЕ НА ЯЗЫКЕ PYTHON
@programistica // #doc
5 766
👩💻 Программирование теперь в телеграм!
Вот обширная база материалов, которая ежедневно обновляется, выбирай своё направление:
Обучение Python с нуля
Обучение JavaScript с нуля
Обучение HTML/CSS с нуля
Обучение Java с нуля
Обучение C/С++ с нуля
Обучение С# с нуля
Обучение SQL/GO/PHP с нуля
Обучение Kotlin/Swift с нуля
⛓ Архив на 1789ГБ: Курсы, книги, шпаргалки, статьи, видео ресурсы — всё собрано в одном месте: @roadmap_ready
5 766
💻 Вопрос из собеседования: Что такое pickle?
Pickle — это модуль сериализации и десериализации объектов в Python.
В примере ниже мы сериализуем и десериализуем список словарей:
import pickle
obj = [
{'id':1, 'name':'Stuffy'},
{'id':2, 'name': 'Fluffy'}
]
with open('file.p', 'wb') as f:
pickle.dump(obj, f)
with open('file.p', 'rb') as f:
loaded_obj = pickle.load(f)
print(loaded_obj)
#=> [{'id': 1, 'name': 'Stuffy'}, {'id': 2, 'name': 'Fluffy'}]
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥@programistica // #jobs
5 766
😎 PyLinux - канал для тех, кто изучает Python и хочет начать разбираться в Linux!
➡️ Почему не стоит упустить:
- удобные инструменты Linux
- библиотеки и полезные материалы по Python
- bash скрипты и гайды
- а также, многое другое!
🔥 Заходи прямо сейчас, чтобы не потерять - PyLinux!
5 766
🖼️ Библиотека Python: Altair
Altair — это декларативная библиотека для создания статистических визуализаций в Python, основанная на спецификации Vega-Lite. Она позволяет легко создавать интерактивные и информативные графики с помощью простого и интуитивно понятного синтаксиса, что делает её идеальной для исследовательского анализа данных.
⚙️ Пример использования
import altair as alt
from vega_datasets import data
# Загрузка данных о машинах
cars = data.cars()
# Создание графика рассеяния, показывающего зависимость между весом автомобиля и его расходом топлива
scatter_plot = alt.Chart(cars).mark_circle(size=60).encode(
x='Weight_in_lbs',
y='Miles_per_Gallon',
color='Origin',
tooltip=['Name', 'Origin', 'Horsepower', 'Miles_per_Gallon']
).interactive().properties(
title='Зависимость расхода топлива от веса автомобиля'
)
# Отображение графика
scatter_plot.display()
В этом примере создается интерактивный график рассеяния, где по оси X отложен вес автомобиля (Weight_in_lbs), а по оси Y — расход топлива (Miles_per_Gallon). Точки на графике окрашены в соответствии с происхождением автомобиля (Origin). При наведении курсора на точку, всплывающая подсказка покажет название автомобиля (Name), его происхождение (Origin), мощность (Horsepower) и расход топлива (Miles_per_Gallon)./
✔️ Установка
pip install altair vega_datasets
⛓ Ссылка на документацию
@programistica // #Library5 766
💻 Происхождение термина "баг"
Что-то захотелось мне немного окунутся в историю, так что давайте рассмотрим достаточно интересную тему: Происхождение термина "баг".
Термин "баг" в контексте программирования имеет интересное и несколько анекдотичное происхождение. В 1947 году, когда компьютеры были огромными машинами, занимающими целые комнаты, инженеры столкнулись с необычной проблемой. В одном из первых компьютеров, Марке II, произошла неисправность, и после тщательного изучения выяснилось, что в реле компьютера застряла моль. Этот случай был зафиксирован в журнале инженеров, и рядом с записью была приклеена сама моль с пометкой "первый реальный случай обнаружения бага".
Этот инцидент стал известным благодаря Грейс Хоппер, одной из первых женщин-программистов, которая работала над Марком II. Она и ее команда использовали термин "debugging" (отладка) для описания процесса удаления моли из компьютера и восстановления его работы.
Хотя этот случай с молью стал популярным и часто упоминается как первый "баг", термин "баг" использовался в инженерии и ранее для обозначения механических неисправностей. Например, Томас Эдисон использовал этот термин в своих записях еще в 1878 году для описания проблем с телеграфными аппаратами.
С тех пор термин "баг" стал широко использоваться в программировании и компьютерной инженерии для обозначения ошибок или неисправностей в программном обеспечении или аппаратуре. Процесс обнаружения и исправления таких ошибок называется "отладка" (debugging), что также произошло от этого исторического случая.
@programistica // #article
5 766
👀 Книга: Создание видеоигр с помощью PyGame
⏺Настройка Python и Pygame
⏺Крестики-нолики в PyGame
⏺Использование классов в Pygame
⏺Рефакторинг игровой логики
⏺Пожиратель камней
⏺Космическое вторжение в PyGame
И многое другое
@programistica // #doc
5 766
5 766
💻 Вопрос из собеседования: Как округлить число до трех десятичных знаков?
Используйте функцию
round(value, decimal_places):
a = 5.12345
round(a,3)
#=> 5.123
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥🔥🔥@programistica // #jobs
5 766
🖼️ Библиотека Python: PyOpenGL
PyOpenGL представляет собой кроссплатформенный интерфейс Python для OpenGL, который позволяет разработчикам создавать высокопроизводительные графические и визуализационные приложения с использованием стандартного API OpenGL. Эта библиотека обеспечивает прямой доступ к графическим функциям GPU, делая её идеальным выбором для разработки трехмерной графики, игр и научных визуализаций в Python.
⚙️ Пример использования
import glfw
from OpenGL.GL import *
import numpy as np
# Инициализация GLFW
if not glfw.init():
raise Exception("GLFW не может быть инициализирован")
# Создание окна
window = glfw.create_window(640, 480, "PyOpenGL Demo", None, None)
if not window:
glfw.terminate()
raise Exception("Окно GLFW не может быть создано")
glfw.set_window_pos(window, 400, 200)
# Установка контекста
glfw.make_context_current(window)
# Определение вершин треугольника
vertices = np.array([-0.5, -0.5, 0.0,
0.5, -0.5, 0.0,
0.0, 0.5, 0.0], dtype=np.float32)
# Определение цветов вершин
colors = np.array([1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, 1.0], dtype=np.float32)
# Цикл отрисовки
while not glfw.window_should_close(window):
glfw.poll_events()
glClear(GL_COLOR_BUFFER_BIT)
# Включение массива вершин
glEnableClientState(GL_VERTEX_ARRAY)
glVertexPointer(3, GL_FLOAT, 0, vertices)
# Включение массива цветов
glEnableClientState(GL_COLOR_ARRAY)
glColorPointer(3, GL_FLOAT, 0, colors)
# Отрисовка треугольника
glDrawArrays(GL_TRIANGLES, 0, 3)
# Отключение массивов вершин и цветов
glDisableClientState(GL_VERTEX_ARRAY)
glDisableClientState(GL_COLOR_ARRAY)
glfw.swap_buffers(window)
# Завершение работы
glfw.terminate()
Этот код демонстрирует базовые принципы работы с PyOpenGL: инициализацию окна с помощью GLFW, установку контекста, определение вершин и цветов для треугольника, а также его отрисовку. Убедитесь, что у вас установлены все необходимые зависимости, чтобы код успешно выполнялся.
✔️ Установка
pip install PyOpenGL PyOpenGL_accelerate
⛓ Ссылка на документацию
@programistica // #Library