Что выдаст код выше❔
Anonymous Quiz
2%
{}
2%
<class 'dict'>
12%
dict(["AD", "OL", "QL"])
45%
{"AB": None, "OL": None, "QL": None}
26%
{'A': 'B', 'O': 'L', 'Q': 'N'}
14%
Error
🤔10🤷♀5👍3🤓1👀1
dict() работает так, что он либо ничего не принимает и возвращает {}, либо принимает список из списков ключ-значение.
Вот так:
[["key", "value"], ] -> {"key": "value",}
Но мы же знаем что строка тоже итерируется, следовательно первый символ строки становится ключом, а второй - значением. Так и выходит результат {'A': 'B', 'O': 'L', 'Q': 'N'}
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21👍5⚡4🔥3
- CRUD-операции: PyMongo предоставляет полный набор CRUD-операций (создание, чтение, обновление, удаление) для работы с данными в MongoDB.
- Поддержка индексов: PyMongo позволяет создавать и управлять индексами в MongoDB, что повышает производительность запросов.
- Агрегация и группировка: PyMongo поддерживает агрегацию и группировку данных, что позволяет выполнять сложные аналитические запросы.
- Транзакции: PyMongo поддерживает транзакции, что позволяет выполнять атомарные операции в базе данных.
- Поддержка репликации и шардинга: PyMongo поддерживает репликацию и шардинг, что позволяет масштабировать базу данных и обеспечить высокую доступность.
1. Подключение к MongoDB:
from pymongo import MongoClient
# Создание подключения к MongoDB
client = MongoClient('mongodb://localhost:27017/')
# Выбор базы данных
db = client['mydatabase']
2. Создание коллекции и вставка данных:
# Создание коллекции
collection = db['users']
# Вставка данных
user = {"name": "John", "age": 30, "city": "New York"}
result = collection.insert_one(user)
print('One post: {0}'.format(result.inserted_id))
Официальный сайт
GitHub
PyMongo идеально подходит для разработчиков, которые хотят быстро и легко интегрировать MongoDB в свои проекты. Так же идеально подходит для быстрого старта проектов, гибких структур данных (например, если у разных пользователей — разные поля), прототипирования и MVP.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5🔥3👌2
Ты собрал красивый замок (проект), поставил его на стол (твой комп). Всё работает.
Но теперь ты хочешь:
- Перекинуть замок другу — и у него не хватает деталей (зависимостей).
- Поставить его на полку в другой комнате — и там другой размер стола (окружение).
- Запустить сразу 10 таких замков — и вдруг всё ломается.
Это контейнеризация.
Docker упаковывает твой проект со всеми зависимостями: библиотеками, окружением, системными настройками — и превращает в контейнер, который можно запускать где угодно.
Контейнер — это как мини-компьютер внутри твоего компа, где всё настроено именно под твой проект.
Больше никаких “у меня не работает, а у тебя работает”
Всё окружение проекта — в одной команде
docker runПереезд на сервер — в пару кликов
Можно тестить, не ломая свою систему
Легко клонировать проекты и передавать команде
Изоляция = безопасность
Обычно:
pip install flask
python app.py
С Docker:
FROM python:3.10
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
Затем:
docker build -t myapp .
docker run -p 5000:5000 myapp
- Он сэкономит тебе часы — буквально.
- Ты начнёшь думать как профессиональный разработчик.
- И это must-have навык в любом резюме.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤6🔥3
- Автоматическая генерация документации: FastAPI автоматически генерирует документацию для вашего API в форматах OpenAPI, Swagger и ReDoc. Это позволяет быстро и легко документировать ваши endpoints.
- Высокая производительность: FastAPI основан на Starlette и Pydantic, что обеспечивает высокую производительность и низкую задержку.
- Типизация и валидация данных: FastAPI использует типы Python для валидации данных, что позволяет автоматически проверять и преобразовывать данные запросов.
- Асинхронность: FastAPI поддерживает асинхронные функции, что позволяет создавать высокопроизводительные веб-приложения.
1. Создание простого API:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"message": "Hello World"}
2. Создание параметризированных маршрутов:
from fastapi import FastAPI
app = FastAPI()
@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}
3. Создание запросов с телом:
from fastapi import FastAPI
from pydantic import BaseModel
class Item(BaseModel):
name: str
description: str = None
price: float
tax: float = None
app = FastAPI()
@app.post("/items/")
async def create_item(item: Item):
return item
Официальный сайт
GitHub
FastAPI — это современный и мощный фреймворк для создания веб-приложений и API на Python. Он предоставляет простой и интуитивный API, который позволяет быстро начать разработку.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥3
- Интерактивные визуализации: Dash позволяет создавать интерактивные визуализации с помощью Plotly, что делает его идеальным инструментом для создания дашбордов и аналитических приложений.
- Поддержка множества компонентов: Dash поддерживает множество компонентов, включая графики, таблицы, кнопки, переключатели и другие, что позволяет создавать сложные пользовательские интерфейсы.
- Развертывание: Dash позволяет легко развертывать веб-приложения на серверах и облачных платформах, таких как Heroku, AWS и Google Cloud.
1. Создание простого веб-приложения:
import dash
from dash import html, dcc
import plotly.express as px
import pandas as pd
# Создание приложения
app = dash.Dash(__name__)
# Данные
df = pd.DataFrame({
"Fruit": ["Apples", "Oranges", "Bananas", "Apples", "Oranges", "Bananas"],
"Amount": [4, 1, 2, 2, 4, 5],
"City": ["SF", "SF", "SF", "Montreal", "Montreal", "Montreal"]
})
# Создание графика
fig = px.bar(df, x="Fruit", y="Amount", color="City", barmode="group")
# Layout
app.layout = html.Div(children=[
html.H1(children='Hello Dash'),
html.Div(children='''
Dash: A web application framework for your data.
'''),
dcc.Graph(
id='example-graph',
figure=fig
)
])
# Запуск сервера
if __name__ == '__main__':
app.run_server(debug=True)
2. Создание интерактивного дашборда:
import dash
from dash import html, dcc, Input, Output
import plotly.express as px
import pandas as pd
# Создание приложения
app = dash.Dash(__name__)
# Данные
df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/gapminder_unfiltered.csv')
# Layout
app.layout = html.Div([
dcc.Graph(id='graph-with-slider'),
dcc.Slider(
df['year'].min(),
df['year'].max(),
step=None,
value=df['year'].min(),
marks={str(year): str(year) for year in df['year'].unique()},
id='year-slider'
)
])
# Callback
@app.callback(
Output('graph-with-slider', 'figure'),
Input('year-slider', 'value'))
def update_figure(selected_year):
filtered_df = df[df.year == selected_year]
fig = px.scatter(filtered_df, x="gdpPercap", y="lifeExp",
size="pop", color="continent", hover_name="country",
log_x=True, size_max=55)
fig.update_layout(transition_duration=500)
return fig
# Запуск сервера
if __name__ == '__main__':
app.run_server(debug=True)
Официальный сайт
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤4🔥3
import tensorflow as tf
# Создание логгера TensorBoard
writer = tf.summary.create_file_writer('path/to/log-directory')
# Запись метрик
with writer.as_default():
for epoch in range(10):
tf.summary.scalar('loss', 0.5 / (epoch + 1), step=epoch)
tf.summary.scalar('accuracy', 0.9 + 0.1 * epoch, step=epoch)
writer.flush()
# Создание модели
model = tf.keras.models.Sequential([
tf.keras.layers.Dense(10, activation='relu', input_shape=(10,)),
tf.keras.layers.Dense(1, activation='sigmoid')
])
# Компиляция модели
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
# Создание логгера TensorBoard
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir='path/to/log-directory', histogram_freq=1)
# Обучение модели
model.fit(x_train, y_train, epochs=10, callbacks=[tensorboard_callback])
Официальный сайт
GitHub
TensorBoard идеально подходит для разработчиков и исследователей, которые хотят лучше понимать и улучшать свои модели машинного обучения. А благодаря простоте использования и интеграции с TensorFlow, TensorBoard легко использовать в уже существующих проектах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥3
🤓7❤4👍2🤔1🤨1👀1
Создали объект класса. В поле b (a.b) лежит число 3. В поле c, объекта a, мы создаем значение 5.
// - операция целочисленного деления. 5 // 3 —> 1 (3 помещается в 5 целиком только 1 раз)
Ответ: 1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤5🔥2🙈1
- Широкий спектр визуализаций: Seaborn поддерживает множество типов визуализаций, включая линейные графики, гистограммы, диаграммы, тепловые карты, boxplots, violin plots и многое другое.
- Кастомизация: Seaborn позволяет легко настраивать цвета, стили и другие аспекты визуализаций, что делает их более привлекательными и информативными.
- Статистическая визуализация: Seaborn предоставляет инструменты для статистической визуализации, включая распределения, корреляции и другие статистические метрики.
1. Создание линейного графика:
import seaborn as sns
import matplotlib.pyplot as plt
# Данные
data = {'x': [1, 2, 3, 4, 5],
'y': [2, 3, 5, 7, 11]}
# Создание графика
sns.lineplot(x='x', y='y', data=data)
plt.title('Линейный график')
plt.show()
2. Создание гистограммы:
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
# Данные
data = np.random.randn(1000)
# Создание гистограммы
sns.histplot(data, kde=True)
plt.title('Гистограмма')
plt.show()
3. Создание тепловой карты:
import seaborn as sns
import matplotlib.pyplot as plt
# Данные
data = sns.load_dataset('flights')
data = data.pivot('month', 'year', 'passengers')
# Создание тепловой карты
sns.heatmap(data, annot=True, fmt='d', cmap='coolwarm')
plt.title('Тепловая карта')
plt.show()
Официальный сайт
GitHub
Документация
Seaborn идеально подходит для аналитиков и исследователей, которые хотят быстро и легко создавать красивые и информативные графики.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4🔥2
- Токенизация: NLTK предоставляет инструменты для разделения текста на слова, предложения и другие элементы.
- Тегирование частей речи: NLTK позволяет анализировать текст и определять части речи (существительные, глаголы, прилагательные и т. д.).
- Стемминг и лемматизация: NLTK предоставляет инструменты для стемминга (уменьшение слов до их основной формы) и лемматизации (приведение слов к их словарной форме).
- Классификация и кластеризация: NLTK поддерживает машинное обучение и предоставляет инструменты для классификации и кластеризации текстовых данных.
- Анализ сентимента: NLTK предоставляет инструменты для анализа сентимента, что позволяет определить эмоциональную окраску текста.
- Корпуса и ресурсы: NLTK включает множество корпусов и ресурсов для обработки естественного языка, включая словари, тезаурусы и корпуса текстов.
import nltk
from nltk.tokenize import word_tokenize, sent_tokenize
# Текст
text = "NLTK is a leading platform for building Python programs to work with human language data."
# Токенизация на предложения
sentences = sent_tokenize(text)
print(sentences)
# Токенизация на слова
words = word_tokenize(text)
print(words)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍3🔥2
Метод
🐍 Pythoner
str() используется для создания удобочитаемого представления объекта для конечного пользователя, тогда как repr() предназначен для создания официального строкового представления объекта, которое можно использовать для воссоздания того же объекта. repr() часто используется для отладки и разработки, так как он должен быть точным и однозначным. str(), с другой стороны, обычно используется для предоставления дружественного к пользователю представления объекта и может быть менее подробным или точным. Если str() не определен, Python будет использовать repr() в качестве запасного варианта.Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤4🔥4
- Автоматизация веб-браузеров: Selenium позволяет управлять веб-браузерами, такими как Chrome, Firefox, Safari и Edge.
- Поддержка множества браузеров: Selenium поддерживает множество веб-браузеров, что позволяет использовать его в различных средах.
- Поддержка тестирования: Selenium часто используется для тестирования веб-приложений, что позволяет автоматизировать тестирование и улучшить качество кода.
1. Запуск веб-браузера и навигация:
from selenium import webdriver
# Создание экземпляра драйвера
driver = webdriver.Chrome()
# Открытие веб-страницы
driver.get('https://example.com')
# Получение заголовка страницы
title = driver.title
print(title)
# Закрытие веб-браузера
driver.quit()
2. Заполнение формы и отправка данных:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
# Создание экземпляра драйвера
driver = webdriver.Chrome()
# Открытие веб-страницы
driver.get('https://example.com/form')
# Заполнение формы
input_element = driver.find_element(By.NAME, 'username')
input_element.send_keys('testuser')
password_element = driver.find_element(By.NAME, 'password')
password_element.send_keys('testpass')
# Отправка формы
password_element.send_keys(Keys.RETURN)
# Закрытие веб-браузера
driver.quit()
3. Клики и взаимодействие с элементами:
from selenium import webdriver
from selenium.webdriver.common.by import By
# Создание экземпляра драйвера
driver = webdriver.Chrome()
# Открытие веб-страницы
driver.get('https://example.com')
# Клик по элементу
button = driver.find_element(By.ID, 'submit-button')
button.click()
# Закрытие веб-браузера
driver.quit()
Официальный сайт
GitHub
Документация
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤4🔥3
Рассказываю, как без шаманства и танцев с бубном оформить себе ChatGPT и врубить Спотик:
Для этого есть ggsel — и это не только ключи к играм и роблаксовые донаты, а целый склад всего, что упрощает жизнь:
🟢 ChatGPT Plus, Midjourney, Photoshop и прочие нейросети — чтобы генерить, творить и делать вид, что ты в этом шаришь
🟢 YouTube Premium, Netflix, Spotify, Canva Pro — прокрастинация и быт под контролем
🟢 Windows, антивирусы, офисы и прочее ПО — если надоело видеть «Активируйте Windows» в правом нижнем углу
Продавцы — живые, с рейтингами и отзывами, без скамов. Так что можно брать спокойно, за этим следят!
Для этого есть ggsel — и это не только ключи к играм и роблаксовые донаты, а целый склад всего, что упрощает жизнь:
Продавцы — живые, с рейтингами и отзывами, без скамов. Так что можно брать спокойно, за этим следят!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3🔥2🗿1
- Обработка изображений: OpenCV предоставляет инструменты для чтения, записи и обработки изображений, включая изменение размера, поворот, фильтрацию и другие операции.
- Обработка видео: OpenCV позволяет работать с видео, включая чтение, запись и обработку видеофайлов и видеопотоков.
- Детектирование объектов: OpenCV предоставляет инструменты для детектирования объектов на изображениях и видео, включая предварительно обученные модели для распознавания лиц, глаз и других объектов.
- Машинное обучение: OpenCV поддерживает машинное обучение и предоставляет инструменты для создания и использования моделей машинного обучения.
- Компьютерное зрение: OpenCV предоставляет инструменты для выполнения различных операций компьютерного зрения, таких как сегментация изображений, анализ движений и трехмерное восстановление.
1. Чтение и отображение изображения:
import cv2
# Чтение изображения
image = cv2.imread('example.jpg')
# Отображение изображения
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
2. Обработка видео:
import cv2
# Открытие видеофайла
cap = cv2.VideoCapture('example.mp4')
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
# Отображение кадра
cv2.imshow('Frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
3. Детектирование лиц:
import cv2
# Загрузка предварительно обученной модели для детектирования лиц
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
# Чтение изображения
image = cv2.imread('example.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Детектирование лиц
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
# Рисование прямоугольников вокруг лиц
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x+w, y+h), (255, 0, 0), 2)
# Отображение изображения
cv2.imshow('Faces', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
Официальный сайт
GitHub
Документация
OpenCV широко используется в научных исследованиях, робототехнике, медицинских приложениях и других областях, где требуется обработка визуальной информации. Если вы работаете с визуальными данными, OpenCV — это библиотека, которую вам стоит изучить и использовать в ваших проектах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5🔥2
- Управление ресурсами AWS: Boto3 позволяет создавать, настраивать и управлять ресурсами AWS, такими как виртуальные машины, хранилища и базы данных.
- Поддержка множества сервисов AWS: Boto3 поддерживает множество сервисов AWS, что позволяет использовать ее для работы с различными облачными ресурсами.
- Управление доступом и авторизацией: Boto3 поддерживает управление доступом и авторизацией, что позволяет безопасно использовать AWS ресурсы.
1. Создание клиента S3:
import boto3
# Создание клиента S3
s3 = boto3.client('s3')
# Создание бакета
bucket_name = 'my-new-bucket'
s3.create_bucket(Bucket=bucket_name)
2. Создание экземпляра EC2:
import boto3
# Создание клиента EC2
ec2 = boto3.client('ec2')
# Создание экземпляра EC2
response = ec2.run_instances(
ImageId='ami-0c55b159cbfafe1f0',
InstanceType='t2.micro',
MinCount=1,
MaxCount=1
)
3. Управление базой данных DynamoDB:
import boto3
# Создание клиента DynamoDB
dynamodb = boto3.resource('dynamodb')
# Создание таблицы
table_name = 'my-new-table'
table = dynamodb.create_table(
TableName=table_name,
KeySchema=[
{
'AttributeName': 'id',
'KeyType': 'HASH'
}
],
AttributeDefinitions=[
{
'AttributeName': 'id',
'AttributeType': 'S'
}
],
ProvisionedThroughput={
'ReadCapacityUnits': 5,
'WriteCapacityUnits': 5
}
)
Официальный сайт
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍3🔥2
❤5👍3🤓3🤔1