Просмотр записей в категории Таинство стандартной библиотеки


memoryviews - меньше копирований объектов

В Python есть несколько типов для работы с бинарными данными - byte, bytearray, memoryview

Memoryview объекты (согласно документации) позволяют Python-коду(а не C_API) обращаться к внутренним данным объекта, который поддерживает protocol buffer. И работать с этими данными без копирования.

В словах без копирования основная польза для программиста.

ipaddress - работаем с IPv4/v6

Модуль ipaddress упрощает создание, редактирование, манипуляцию с IP-адресами и сетями начиная с Python 3.3. (тогда он появился)

pathlib - объектно-ориентированный подход к файловым путям

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

Таинство стандартной библиотеки: пути до файлов

Если смотреть на файлы, а точнее на пути файлов, то легко можно заметить различия между Linux и Windows:

Таинство стандартной библиотеки: модуль __future__

Можно пойти дальше и указывать какой функционал станет обязательным в следующих версиях.

Таинство стандартной библиотеки: консольный GUI с помощью curses

Но как его сделать? На сервере часто нет X сервера. нет Qt и чего-то такого, а Python есть. Возможно вы слышали про ncurses - библиотека для управления IO. Вот ее и можно использовать для такой задачи - стандартная библиотека содержит модуль curses.

Таинство стандартной библиотеки: shelve - база данных для объектов

shelve позволяет сериализовать объект (прям как pickle), а потом сохранить его в виде похожем на БД (интерфейс anydbm).

Таинство стандартной библиотеки: asyncio в Python. Как устроено и зачем нужно?

В python 3.4 появился asyncio. До сих пор многие разработчики не знают, что это такое, как реализуется асинхронность в Python и в чем её сильные и слабые места. Повторим пройденное и заглянем под капот.

Таинство стандартной библиотеки: sys.platform - определяем операционную систему

Например, у разработчика стоит Linux, а у пользователя Windows. Или даже если у обоих стоит одна ОС, то на одном ПК может стоять необходимый модуль, а на другом нет. Все это накладывает отпечаток. Python со стандартной библиотекой предоставляет необходимый инструментарий для разрешения многих проблем.

Таинство стандартной библиотеки: timeit - измерим время работы!

Что делать? куда бежать? С чего стоит начать? Да сначала стоит измерить сколько ресурсов (память, время, проц) кушает ваш софт. Уже имея числа на руках можно думать дальше.

Теги

notify, os, isinstance, encode, database, all, многопоточность, mail, срез, сборник, pytest, новый год, конкурентность, аргумент, gevent, pycon, GIL, python проект, интерпретатор, игры, замыкание, pynotify, функциональное программирование, pypi, типы данных, csv, график, testing, поиск ошибок, автоматизация, ardruio, swagger, память, vk.com, файл, pip, web, тест, статический анализ, dsl, syntax, отчет, notification, список, ide, графика, rest, pycallgraph, githook, generic, hook. webhook, история, asyncio, logging, инструмент, swig, click, Category: Полезные модули, crawler, while, aiohttp, оптимизация, clonedigger, Бизли, трансдьюсер, matplotlib, bottle, концепция, типизация, language, урок, fuzzy-testing, nose, image, путь, удаленный вызов процедур, тестирование, консоль, vk, c, list, pylint, operator, print, практика, сравнение, functools, польза, измерение, сопроцедуры, selenium, генерация данных, БД, мастер класс, plotly, bokeh, генерация, производительность, winapi, flask, typing, strip, lxml, os.path, grab, scandir, Qt, pycharm, проект, книга, dictwriter, coverage, html, фп, pypy, signal, стандартная библиотека, now, weakref, google, практика программирования, Tags:, corotine, sqlalchemy, nameko, синтаксис, import, паттер, virtualenv, api, зеленый поток, timeit, контекст, бд, funcy, encoding, кэш, json, статистика, байт-код, unittest, кодировка, datetime, opencv, ооп, itertools, package, fp, mixin, python, assert, pyqt, утка, garbage collector, frozenset, курс, numpy, django-debug-toolbar, терминал, xpath, closure, type, requirements, дубликат, статическая типизация, PIL, работа, debug, быстродействие, водяной знак, plot, рейтинг, ip, python3, yield from, fronteram scrapy, видео, test, fuzzy, curses, gitter, unicode, twitter, decode, cache, pep, вконтакте, операционная система, ОС, awesome, any, тесты, задача, установка, последовательность, ошибки, генератор, hardcore, toolbar, Wx, магия, doctest, qt, железо, множество, marshal, сигнал, greenlet, слайс, db, future, время, admin, pyside, настройка, regex, module, примесь, slots, sys, email, action, регулярные выражения, одноплатный компьютер, дубликат кода, scrapinghub, micropython, mock, фича, raspberry pi, foreign key, ссылка, pickle, django, нг, модуль, справочник, celery, импорт, лямбда, with, rpc, наука, jinja2, log, обработка текста, super, set, svg, матрица, pygame, fixture, docstring, декларативный язык, fabric, пакет, опыт, магическая переменная, regexp, Гвидо, slice, __all__, gui, база данных, юникод, yattag, cython, матан, документация, анализатор, менеджер контекста, yield, учебник, real-time, слабая ссылка, IPython, браузер, xml, GUI, gc, channel, zip, машинное обучение, библиотека, __future__, ошибка, данные, requirements.txt, оповещение, парсинг, изображение, CLI, tox, фильтр, feedly, R, cffi, http, таблицы, gunicorn, python2, стандарт, if, rss, requests, tkinter, time, mechanize, gensim, интерфейс, Category: Разное, визуализация, postgresql, web parsing, язык, исключение, архитектура, lstrip, parsing, Category: Встречи, путь до файла, copy paste, multiprocessing, объект, rstrip, статический анализатор, lambda