PyCode
22 subscribers
22 photos
43 links
Добро пожаловать на PyCode! Здесь мы вместе шаг за шагом изучаем основы языка программирования Python. От простых понятий до продвинутых тем, каждый урок будет наполнен понятными объяснениями, практическими примерами и, конечно же, юмором!
Download Telegram
👩‍💻Преимущества и недостатки Python

Преимущества:
🤩Простота и читаемость
Python известен своим лаконичным и простым синтаксисом. Он ближе к естественному языку, что делает его доступным даже для новичков.
💪Большая стандартная библиотека
Python предоставляет мощную стандартную библиотеку, включающую инструменты для работы с файлами, операционными системами, сетями, протоколами, базами данных, веб-сервисами и многим другим. Это позволяет использовать Python практически в любой сфере разработки — от веб-программирования до машинного обучения.
💻Кроссплатформенность
Программы на Python можно легко запускать на различных операционных системах — Windows, macOS, Linux и др. Благодаря платформонезависимости его можно использовать для создания приложений, которые будут работать на любом устройстве без необходимости изменять код.

Недостатки:
📖Скорость выполнения
Python — интерпретируемый язык, и это делает его значительно медленнее языков вроде C++ или Java. Python не подходит для задач, требующих высокой производительности, таких как сложные вычисления или обработка больших данных в реальном времени.
😭Global Interpreter Lock (GIL)
Один из главных недостатков Python — это GIL (Global Interpreter Lock). GIL не позволяет одновременно выполнять несколько потоков, что снижает эффективность многопоточности в задачах, связанных с процессором (CPU-bound задачи). В задачах с I/O (сетевые операции, работа с файлами) это не так критично, но при вычислениях на нескольких ядрах CPU GIL становится узким местом.
😵Высокая потребность в памяти
Python использует динамическую типизацию, что упрощает написание кода, но увеличивает потребление памяти. Это может стать проблемой в системах с ограниченными ресурсами или при работе с большими данными.

💡Python — это универсальный и удобный инструмент для множества задач, особенно когда важны простота, скорость разработки и работа с большим количеством данных. Однако его недостатки, такие как GIL и сравнительно низкая производительность, делают его менее подходящим для задач, требующих высокой скорости и многопоточности.
#PyLearn

🐍Питай код с PyCode
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻3
👩‍💻Метод split() в Python

Метод split() используется для разделения строки на части на основе разделителя (по умолчанию — пробелы). Это удобный способ разбить строку на слова или части для дальнейшей обработки.
Пример:
text = "Python is awesome"
words = text.split()
print(words) # ['Python', 'is', 'awesome']


Вы можете указать собственный разделитель:
date = "2024-10-02"
parts = date.split("-")
print(parts) # ['2024', '10', '02']

#PyTips

🐍Питай код с PyCode
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻3
👨‍💻1
Что выведет данный код?
Anonymous Quiz
57%
[1, 2, 3]
29%
[2, 1]
0%
[1, 2]
14%
[3, 2, 1]
👨‍💻1
👩‍💻map() и filter() в Python

🤩Оба этих метода — мощные инструменты для обработки и трансформации коллекций в Python, упрощая работу с данными без необходимости использовать циклы.

✨Функция map() применяет заданную функцию ко всем элементам итерируемого объекта (например, списка), возвращая новый объект с результатами. Она полезна, когда нужно изменить или преобразовать все элементы последовательности.

numbers = [1, 2, 3, 4, 5]
squared = map(lambda x: x**2, numbers)
print(list(squared)) # оборачиваем в список потому что map возвращает объект

[1, 4, 9, 16, 25]

Здесь map() проходит по списку чисел и возводит каждое в квадрат.

📖Функция filter() используется для фильтрации элементов итерируемого объекта на основе условия, которое возвращает True или False. Она полезна для отбора элементов, удовлетворяющих определенным критериям.

numbers = [1, 2, 3, 4, 5]
even_numbers = filter(lambda x: x % 2 == 0, numbers)
print(list(even_numbers)) # filter тоже возвращает объект

[2, 4]

Здесь filter() вернул только четные числа.

🥺Когда использовать map() и filter()?
map() полезен, когда нужно применить одну и ту же операцию ко всем элементам списка, как в случае с трансформацией данных.
filter() хорош для ситуаций, когда необходимо отобрать элементы на основе условия

👍map() и filter() — мощные инструменты для работы с коллекциями, которые позволяют писать более краткий и функциональный код, особенно в сочетании с лямбда-функциями. Однако они могут быть менее читаемыми для сложных операций, поэтому важно соблюдать баланс между лаконичностью и читаемостью кода.
#PyLearn

🐍Питай код с PyCode
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻4
👩‍💻Использование sep и end в функции print()

☄️sep (separator) используется для указания разделителя между выводимыми значениями. По умолчанию это пробел.

print("Python", "is", "awesome", sep=" - ")
# Вывод: Python - is - awesome


🤩end задает символ, который выводится в конце строки. По умолчанию это новая строка (\n).

print("Hello", end="!")
# Вывод: Hello!


💡Эти параметры помогают гибко форматировать вывод.
#PyTips

🐍Питай код с PyCode
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻5
👨‍💻3
Что выведет данный код?
Anonymous Quiz
50%
2
0%
0
17%
Код вызовет ошибку
33%
4
👨‍💻3
👩‍💻Индексы в Python: Как работают и зачем нужны

💡В Python индексы — это способ доступа к элементам в коллекциях, таких как строки, списки, кортежи. Индексы позволяют обращаться к элементам напрямую, что делает работу с данными удобнее и гибче. Давайте рассмотрим, как работают индексы, включая положительные и отрицательные, шаги, и как их использовать в повседневной практике.

1. Положительные индексы
🤩Индексы в Python начинаются с нуля. Это значит, что первый элемент строки или списка имеет индекс 0, второй — 1, и так далее.
Пример:
text = "Python"
print(text[0]) # 'P'
print(text[1]) # 'y'

Здесь text[0] вернет первый символ строки — "P", а text[1] вернет "y".
Этот принцип применим не только к строкам, но и к другим итерируемым объектам, таким как списки:
numbers = [10, 20, 30, 40]
print(numbers[0]) # 10
print(numbers[2]) # 30


2. Отрицательные индексы
📖Положительные индексы отсчитываются от начала коллекции, но также можно использовать отрицательные индексы, которые начинают отсчет с конца. Это удобно, когда вам нужно обратиться к последним элементам коллекции.
Пример:
text = "Python"
print(text[-1]) # 'n'
print(text[-2]) # 'o'

В данном примере text[-1] возвращает последний символ строки — "n", а text[-2] — предпоследний символ "o". Этот подход особенно полезен, когда длина коллекции неизвестна, но нужно получить доступ к её последним элементам.
Списки (и другие итерируемые объекты) также поддерживают отрицательные индексы

3. Срезы
💻Срезы позволяют вам получить часть коллекции, используя синтаксис [start:stop:step] (по умолчанию start равен 0, stop индексу последнего элемента, а шаг - 1), где:
start — это начальный индекс (включительно), stop — конечный индекс (не включительно), step — шаг, который определяет, сколько элементов пропускать при итерации.
Пример:
text = "Python"
print(text[1:4]) # 'yth'

Здесь text[1:4] вернет подстроку с 1-го по 3-й индексы, то есть "yth". Важно отметить, что символ с индексом 4 не включается в результат.

4. Шаги
👀Шаг указывает, с какой частотой нужно выбирать элементы. По умолчанию он равен 1, но можно задать любое значение, включая отрицательное.
Пример:
text = "Python"
print(text[::2]) # 'Pto'

Здесь используется шаг 2, что приводит к выбору каждого второго символа строки. Результат — "Pto".
Вы также можете использовать отрицательные шаги, чтобы развернуть строку:
print(text[::-1])  # 'nohtyP'


5. Изменение элементов с помощью индексов (в списках)
🏎Индексы в списках могут использоваться не только для чтения, но и для изменения элементов. Это делает списки более гибкими, по сравнению с неизменяемыми строками и кортежами.
Пример:
numbers = [1, 2, 3, 4, 5]
numbers[0] = 10
print(numbers) # [10, 2, 3, 4, 5]


👍Индексы — это мощный инструмент, упрощающий работу с последовательностями в Python. Они позволяют не только обращаться к элементам по их позициям, но и эффективно работать с срезами и шагами. Используя индексы, вы можете создавать гибкие и эффективные решения для обработки данных.
#PyLearn

🐍Питай код с PyCode
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻4
👩‍💻Использование join()

💻Метод join() в Python позволяет соединять элементы итерируемых объектов (списки, кортежи и т. д.) в одну строку с указанным разделителем.
Пример:
words = ['Python', 'is', 'awesome']
sentence = ' '.join(words)
print(sentence) # 'Python is awesome'

Здесь мы соединили список слов с пробелом в качестве разделителя. Вы можете использовать любой символ, например, запятую или тире:
print(', '.join(words))  # 'Python, is, awesome'

👍join() — отличный способ форматировать строки!
#PyTips

🐍Питай код с PyCode
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻4
👨‍💻2
Что выведет данный код?
Anonymous Quiz
0%
2
40%
b
30%
Код вызовет ошибку индекса
30%
[]
👨‍💻2
👩‍💻Импорты в Python: Как это работает

Импорты в Python — важный инструмент для организации кода и повторного использования модулей. Импортируя библиотеки или отдельные функции, вы можете значительно упростить свою программу.

1. Как импортировать библиотеку
👀Чтобы подключить стороннюю или встроенную библиотеку, используется ключевое слово import. Например, чтобы импортировать стандартную библиотеку math, которая предоставляет математические функции, пишем:
import math

Теперь доступ к функциям библиотеки осуществляется через точечную нотацию:
print(math.sqrt(16))  # Вывод: 4.0


2. Импортирование отдельной функции
🤩Если вам нужна только конкретная функция из библиотеки, вы можете импортировать её напрямую:
from math import sqrt
print(sqrt(16)) # Вывод: 4.0

Такой способ удобен, когда нужна одна или несколько функций, и не нужно импортировать всю библиотеку.

3. Импортирование с псевдонимом (as)
📖Иногда имена модулей могут быть слишком длинными или конфликтовать с другими именами в вашем коде. Для этого используется ключевое слово as, чтобы задать модулю или функции новое имя:
import math as m
print(m.sqrt(16)) # Вывод: 4.0

Это сокращает код и делает его более читаемым, особенно если часто используется одна и та же библиотека.

4. Импорт всех элементов модуля с помощью *
💡Чтобы импортировать всё содержимое модуля, используется символ *:
pythonКопировать кодfrom math import *
print(sqrt(16)) # Вывод: 4.0
print(factorial(5)) # Вывод: 120

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

💻Импорты позволяют легко интегрировать различные библиотеки и модули, улучшая масштабируемость кода. Вы можете импортировать целую библиотеку, отдельные функции, использовать псевдонимы для упрощения, или даже импортировать всё содержимое модуля. Однако важно помнить, что чрезмерное использование * может привести к конфликтам имен и снижению читаемости кода.
#PyLearn

🐍Питай код с PyCode
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻3
👩‍💻Удобный вывод с pprint

🤩Модуль pprint (pretty-print) используется для форматированного вывода сложных структур данных в Python, делая их более читабельными. Это особенно полезно при работе со словарями, списками или JSON, которые содержат вложенные элементы.
Пример использования:
from pprint import pprint

data = [{'name': 'Alice', 'age': 30}, {'name': 'Bob', 'age': 25}]
pprint(data)

Вывод будет отформатирован для лучшей читаемости:
[{'age': 30, 'name': 'Alice'},
{'age': 25, 'name': 'Bob'}]

😎pprint — отличный инструмент для отладки и анализа сложных данных!
#PyTips

🐍Питай код с PyCode
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻3
👨‍💻1
Что выведет данный код?
Anonymous Quiz
18%
Код вызовет ошибку
55%
5
18%
0
9%
25
👨‍💻2
👩‍💻Что такое pip и зачем он нужен?

pip — это пакетный менеджер для Python, который используется для установки, управления и обновления пакетов и библиотек. Он позволяет разработчикам легко интегрировать сторонние инструменты и расширять функциональность своих программ.

🤩Основные возможности pip:

Установка пакетов:
pip install package_name


Обновление пакетов:
pip install --upgrade package_name


Удаление пакетов:
pip uninstall package_name


Список установленных библиотек:
pip list


📖pip автоматически загружает пакеты из Python Package Index (PyPI), что делает его незаменимым инструментом для управления зависимостями в проектах.
#PyLearn

🐍Питай код с PyCode
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻3
👨‍💻3
👨‍💻1
Сколько раз выведется надпись?
Anonymous Quiz
13%
6
50%
4
13%
0
25%
Код вызовет ошибку
👨‍💻1
👩‍💻Библиотека requests в Python

💻requests — это одна из самых популярных библиотек в Python для работы с HTTP-запросами. Она упрощает отправку HTTP-запросов и получение ответов, позволяя легко взаимодействовать с веб-API и загружать данные из интернета.

Основные возможности requests:
1. Отправка запросов:
💡Вы можете отправлять различные типы HTTP-запросов, такие как GET, POST, PUT, DELETE и другие.
Пример запроса на получение данных:
import requests

response = requests.get('https://jsonplaceholder.typicode.com/posts')
print(response.text)

Запрос вернет текст ответа от сервера.

2. Параметры запроса:
🤯Часто требуется отправлять параметры в запросе. С requests это легко:
params = {'q': 'python', 'page': 1}
response = requests.get('https://api.example.com/search', params=params)


3. Отправка данных в теле запроса:
⚡️Для отправки данных (например, при POST запросе) используется параметр data или json.
data = {'username': 'john', 'password': 'mypassword'}
response = requests.post('https://api.example.com/login', data=data)


4. Работа с JSON:
👀Если ответ от сервера приходит в формате JSON, можно легко его распарсить:
response = requests.get('https://jsonplaceholder.typicode.com/posts/1')
json_data = response.json()
print(json_data['title'])


🤩Где используется requests?
Интеграция с API: запрос данных с веб-ресурсов, взаимодействие с RESTful API.
Веб-скрапинг: загрузка веб-страниц для последующего анализа данных.
Отправка данных: формы, логины и загрузка файлов на серверы.

👍Библиотека requests делает работу с веб-запросами в Python быстрой, понятной и гибкой. Она является must-have инструментом для работы с API, загрузкой данных и взаимодействием с веб-ресурсами.
#PyLearn

🐍Питай код с PyCode
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻4