Например:
python -m timeit "some_function()"timeit, который является частью стандартной библиотеки Python. Это позволяет оценить производительность определенного участка кода.Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥3
👍12🤔5🤨2
Строка "Python" имеет следующие индексы:
Индекс: 0 1 2 3 4 5
Элементы: P y t h o n
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥5❤3
- Распознавание текста: PyTesseract позволяет распознавать текст на изображениях, включая поддержку множества языков.
- Поддержка множества форматов изображений: PyTesseract поддерживает множество форматов изображений, включая JPEG, PNG, BMP и другие.
- Настройка и конфигурация: PyTesseract позволяет настраивать параметры распознавания, что позволяет оптимизировать процесс для ваших конкретных задач.
import pytesseract
from PIL import Image
# Загрузка изображения
image = Image.open('example.jpg')
# Распознавание текста
text = pytesseract.image_to_string(image, lang='eng')
print(text)
Официальный сайт
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4❤3
- Публикация твитов: Tweepy позволяет публиковать твиты и изображения в вашем аккаунте Twitter.
- Чтение ленты: Tweepy позволяет читать ленту твитов, включая твиты из вашего аккаунта и других пользователей.
- Поиск твитов: Tweepy предоставляет инструменты для поиска твитов по ключевым словам, хэштегам и другим параметрам.
- Управление аккаунтом: Tweepy позволяет управлять вашим аккаунтом Twitter, включая чтение и отправку сообщений, блокировку и разблокировку пользователей.
- Поддержка аутентификации: Tweepy поддерживает аутентификацию с использованием OAuth, что позволяет безопасно работать с API Twitter.
import tweepy
# Ключи и токены для аутентификации
consumer_key = 'YOUR_CONSUMER_KEY'
consumer_secret = 'YOUR_CONSUMER_SECRET'
access_token = 'YOUR_ACCESS_TOKEN'
access_token_secret = 'YOUR_ACCESS_TOKEN_SECRET'
# Аутентификация
auth = tweepy.OAuth1UserHandler(consumer_key, consumer_secret, access_token, access_token_secret)
api = tweepy.API(auth)
# Публикация твита
api.update_status('Hello, Twitter!')
Официальный сайт
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍3🔥2
class Node:
def __init__(self, key):
self.left = None
self.right = None
self.val = key
def insert(root, key):
if root is None:
return Node(key)
else:
if root.val < key:
root.right = insert(root.right, key)
else:
root.left = insert(root.left, key)
return root
def inorder(root):
if root:
inorder(root.left)
print(root.val),
inorder(root.right)
r = Node(50)
r = insert(r, 30)
r = insert(r, 20)
r = insert(r, 40)
r = insert(r, 70)
r = insert(r, 60)
r = insert(r, 80)
inorder(r)
BST имеют множество преимуществ, благодаря которым они широко используются. Они позволяют быстро осуществлять поиск, вставку и удаление данных. Однако BST также имеют некоторые недостатки. Например, если дерево не сбалансировано, время поиска может увеличиться.
То есть, по сути, это сортированное дерево, поиск в котором легко выполнить, из-за того, что оно упорядочено.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍5❤3
- Поддержка OAuth 1.0 и OAuth 2.0: Requests-OAuthlib поддерживает аутентификацию OAuth 1.0 и OAuth 2.0, что позволяет работать с различными API.
- Поддержка множества сервисов: Requests-OAuthlib поддерживает множество сервисов, включая Twitter, GitHub, Google и другие.
- Безопасность: Requests-OAuthlib обеспечивает безопасную аутентификацию, что важно для работы с API, требующими аутентификации.
from requests_oauthlib import OAuth1Session
# Ключи и токены для аутентификации
consumer_key = 'YOUR_CONSUMER_KEY'
consumer_secret = 'YOUR_CONSUMER_SECRET'
access_token = 'YOUR_ACCESS_TOKEN'
access_token_secret = 'YOUR_ACCESS_TOKEN_SECRET'
# Создание сессии OAuth 1.0
twitter = OAuth1Session(consumer_key, client_secret=consumer_secret,
resource_owner_key=access_token,
resource_owner_secret=access_token_secret)
# Запрос к API Twitter
response = twitter.get('https://api.twitter.com/1.1/account/verify_credentials.json')
# Вывод результата
print(response.json())
Официальный сайт
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤2👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3❤2
- Управление сеансами: Flask-Login позволяет управлять сеансами пользователей, включая вход, выход и проверку аутентификации.
- Интеграция с Flask: Flask-Login полностью интегрирован во Flask, что позволяет использовать все возможности Flask вместе с функциями аутентификации.
- Поддержка аутентификации: Flask-Login поддерживает различные методы аутентификации, включая аутентификацию по паролю и токенам.
- Безопасность: Flask-Login обеспечивает безопасную аутентификацию, что важно для создания надежных веб-приложений.
from flask import Flask, request, redirect, url_for, render_template
from flask_login import LoginManager, UserMixin, login_user, login_required, logout_user
app = Flask(__name__)
app.secret_key = 'your_secret_key'
# Конфигурация Flask-Login
login_manager = LoginManager()
login_manager.init_app(app)
login_manager.login_view = 'login'
# Мок-база данных пользователей
users = {'user1': {'password': 'password1'}}
class User(UserMixin):
def __init__(self, id):
self.id = id
@login_manager.user_loader
def load_user(user_id):
return User(user_id)
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
if username in users and users[username]['password'] == password:
user = User(username)
login_user(user)
return redirect(url_for('protected'))
return 'Invalid username or password'
return render_template('login.html')
@app.route('/protected')
@login_required
def protected():
return 'Logged in as: ' + current_user.id
@app.route('/logout')
@login_required
def logout():
logout_user()
return 'Logged out'
if __name__ == '__main__':
app.run(debug=True)
Официальный сайт
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3🔥2
- Автоматическая генерация миграций: Flask-Migrate позволяет автоматически генерировать миграции на основе изменений в моделях базы данных.
- Интеграция с Alembic: Flask-Migrate интегрирует Alembic, что позволяет использовать все возможности Alembic для управления миграциями.
- Поддержка множества баз данных: Flask-Migrate поддерживает множество реляционных баз данных, включая SQLite, PostgreSQL, MySQL и другие.
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db'
db = SQLAlchemy(app)
migrate = Migrate(app, db)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
# Инициализация миграций
# flask db init
# flask db migrate -m "Initial migration."
# flask db upgrade
Официальный сайт
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥1
Что выдаст код выше❔
Anonymous Quiz
14%
partial match
3%
['c', 'd', 'e']
24%
partial match: ['c', 'd', 'e']
17%
no match
36%
match!
6%
x, y, *z = "abcde"
🤔9🤓3🤨2👍1
Если мы ожидаем, что match должен перейти ко второму кейсу, потому что где-то произошла неявная распаковка, то это ошибка.
Потому что структура данных, с которой работает match, — это конкретный кортеж: ('a', 'b', 'c', 'd', 'e').
И первый кейс точно совпадает с этой структурой.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🔥4
- Быстрое создание административных интерфейсов: Flask-Admin позволяет быстро создавать административные интерфейсы для управления данными в ваших веб-приложениях.
- Поддержка множества баз данных: Flask-Admin поддерживает множество реляционных баз данных, включая SQLite, PostgreSQL, MySQL и другие.
- Кастомизация: Flask-Admin позволяет легко кастомизировать административные интерфейсы, включая изменение шаблонов, стилей и функциональности.
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_admin import Admin
from flask_admin.contrib.sqla import ModelView
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db'
app.config['SECRET_KEY'] = 'your_secret_key'
db = SQLAlchemy(app)
# Создание модели
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
# Создание административного интерфейса
admin = Admin(app, name='Admin Panel', template_mode='bootstrap3')
admin.add_view(ModelView(User, db.session))
if __name__ == '__main__':
app.run(debug=True)
Официальный сайт
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍3🔥1
- Поддержка множества кэш-бэкендов: Flask-Caching поддерживает множество кэш-бэкендов, включая простой кэш, Redis, Memcached и другие.
- Кэширование функций и представлений: Flask-Caching позволяет кэшировать результаты функций и представлений, что помогает улучшить производительность приложения.
- Конфигурация и настройка: Flask-Caching позволяет легко настроить кэш, включая время жизни кэша, размер кэша и другие параметры.
from flask import Flask
from flask_caching import Cache
app = Flask(__name__)
# Конфигурация кэша
app.config['CACHE_TYPE'] = 'SimpleCache'
cache = Cache(app)
@app.route('/')
@cache.cached(timeout=50) # Кэширование на 50 секунд
def index():
return 'Hello, World!'
Официальный сайт
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍2🔥2
- Автоматическая документация: Flask-RESTX автоматически генерирует документацию для вашего API в формате Swagger/OpenAPI, что упрощает использование и тестирование API.
- Поддержка ресурсов и методов: Flask-RESTX поддерживает создание ресурсов и методов, что позволяет легко определить структуру вашего API.
- Поддержка аутентификации и авторизации: Flask-RESTX поддерживает аутентификацию и авторизацию, что позволяет обеспечить безопасность вашего API.
from flask import Flask
from flask_restx import Api, Resource
app = Flask(__name__)
api = Api(app)
@api.route('/hello')
class HelloWorld(Resource):
def get(self):
return {'message': 'Hello, World!'}
if __name__ == '__main__':
app.run(debug=True)
Официальный сайт
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥2
- Отладка ошибок: Flask-DebugToolbar позволяет легко отслеживать и анализировать ошибки в вашем приложении.
- Мониторинг запросов и ответов: Flask-DebugToolbar предоставляет подробную информацию о каждом запросе и ответе, что помогает вам лучше понять, что происходит в вашем приложении.
- Анализ производительности: Flask-DebugToolbar позволяет анализировать производительность вашего приложения, включая время выполнения запросов и использование ресурсов.
from flask import Flask
from flask_debugtoolbar import DebugToolbarExtension
app = Flask(__name__)
app.config['SECRET_KEY'] = 'your_secret_key'
app.config['DEBUG_TB_INTERCEPT_REDIRECTS'] = False
# Инициализация DebugToolbar
toolbar = DebugToolbarExtension(app)
@app.route('/')
def index():
return 'Hello, World!'
if __name__ == '__main__':
app.run(debug=True)
@app.route('/error')
def error():
# Пример ошибки
1 / 0
return 'This should not be displayed'Официальный сайт
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍2🔥2
Таким образом, сырые строки позволяют избежать необходимости использования двойных обратных слешей при работе с путями файлов, что делает код более читаемым и удобным для работы.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍2🔥2