#python python... PYTHON 🔛 🚀
11 subscribers
919 photos
7 videos
158 files
1.54K links
Download Telegram
#python python... PYTHON 🔛 🚀
https://github.com/evhub/coconut/blob/master/tests/main_test.py#L140
def rm_path(path):
"""Delete a path."""
if os.path.isdir(path):
shutil.rmtree(path)
elif os.path.isfile(path):
os.remove(path)

def call_python(args, kwargs):
"""Calls the current Python."""
call([sys.executable] + args,
kwargs)



@contextmanager
def using_path(path):
"""Removes a path at the beginning and end."""
if os.path.exists(path):
rm_path(path)
try:
yield
finally:
try:
rm_path(path)
except OSError:
logger.display_exc()


@contextmanager
def using_dest():
"""Makes and removes the dest folder."""
try:
os.mkdir(dest)
except Exception:
shutil.rmtree(dest)
os.mkdir(dest)
try:
yield
finally:
try:
rm_path(dest)
except OSError:
logger.display_exc()


@contextmanager
def using_logger():
"""Use a temporary logger, then restore the old logger."""
saved_logger = Logger(logger)
try:
yield
finally:
logger.copy_from(saved_logger)


from coconut.terminal import logger, Logger

def test_pyston(self):
with using_path(pyston):
comp_pyston(["--no-tco"])
if PY2 and PYPY:
run_pyston()
#python python... PYTHON 🔛 🚀
https://github.com/evhub/coconut/blob/master/tests/main_test.py#L140
def is_hashable(obj):
"""Determine if obj is hashable."""
try:
hash(obj)
except Exception:
return False
else:
return True


def assert_hashable_or_dict(name, obj):
"""Assert obj is hashable, or for dicts apply recursively to values."""
if isinstance(obj, dict):
for val in obj.values():
assert_hashable_or_dict(name, val)
else:
assert is_hashable(obj), "Constant " + name + " contains unhashable values"


def is_importable(name):
"""Determine if name can be imported."""
try:
import_module(name)
except ImportError:
return False
else:
return True
Using RoboBrowser to Login and Extract Data

В данном видео автор использует RoboBrowser, модуль Python-3 и инструмент для веб-автоматизации.
RoboBrowser - это библиотека Pythonic для автоматического просмотра веб-страниц и обработки форм. Он построен поверх запросов и библиотек BeautifulSoup. Напишем скрипт, который автоматически регистрируется в веб-форме и извлекает информацию после входа в систему.

#видеодня

https://www.youtube.com/watch?v=hrdDIrT9kJI
Методики и техники тестирования программного обеспечения

#видеодня

https://prglb.ru/3dqtb
​​Python Unit Test Automation
Автор: Ashwin Pajankar

В настоящем руководстве вы познакомитесь с юнит-тестированием для проектов на языке программирования Python на примере таких библиотек, как doctest, unittest, nose, nose2 и pytest

#книгадня

https://t.me/progbook/3696
Python for DevOps: Learn Ruthlessly Effective Automation (2019)

Многие технологии за последние десять лет очень сильно изменились. Python стал одним из самых популярных языков в мире. Эта книга демонстрирует, как использовать Python для повседневных задач системного администрирования Linux с помощью самых полезных инструментов DevOps, в том числе Docker, Kubernetes и Terraform.

Скачать книгу
В статье автор показывает, как можно оптимизировать некоторые задачи в Excel с помощью Python.

https://proglib.io/w/dad84152
Python Automation Cookbook (2020)
Автор: Jaime Buelta

В этой обновленной и расширенной версии Python Automation Cookbook каждая глава теперь содержит новейшие рецепты и пересмотрена для соответствия Python 3.8 и выше. Книга содержит три новые главы, посвященные использованию Python для автоматизации тестирования, проектов машинного обучения и работы со сложными для анализа данных. Это издание позволит вам получить четкое представление об основных принципах, необходимых для автоматизации бизнес-процессов с помощью реальных задач, таких как разработка вашего первого web scraping приложения и анализ информации для создания отчетов в виде таблиц с графиками.

Скачать книгу
Статья об инструментах и методах автоматизированного тестирования, которые можно использовать при создании приложения на Django. Вы также увидите некоторые распространенные приемы, которые можно применять в каждом проекте.

https://proglib.io/w/77492010
Automate the boring stuff with Python (2019)
Автор: Al Sweigart

Автор показывает, как писать программы, которые могут сделать за вас рутинную работу. Книга поможет новичкам разобраться в программировании на Python и сразу применить свои знания. Данное издание этой книги включает новую главу о проверке входных данных, а также учебные пособия по автоматизации Gmail и Google Sheets и советы по автоматическому обновлению файлов CSV.

Скачать книгу
Когда в язык программирования включают асинхронные функции, он по сути раскалывается на два подмножества: синхронное и асинхронное.

Python 3.5 вышел больше пяти лет назад, но async все еще поддерживается не так уж хорошо. А всё могло бы быть иначе…

Как решить проблему цветов функций и поддерживать и синхронные, и асинхронные приложения одновременно, читайте в статье руководителя программного комитета Russian Python Week Никиты Соболева.
Forwarded from Alexander Rodionov 🦕🥦🥬🥒🍏🌵🦚🌲🌳🌴🌿☘️🍀🦖🦎🐍🐊🐸🍃🦠🌱🐢🐉🌾
спасибо, помогло!
Интересуешься разработкой? Создай собственный продукт на Python! Ждём тебя 3–5 августа на онлайн-интенсиве по программированию от технического директора в Lia.

Успей на бесплатную регистрацию: ▶️ https://clc.to/GrR1_A

✔️ Изучи основы Python — популярного языка программирования. 
✔️ Разработай сервер для прослушивания подключений.
✔️ Научись программировать клиентскую часть для подключения и передачи сообщений.
✔️ Поработай с библиотеками PyQT, Kivy, wxWidgets, Tkinter.
✔️ Пообщайся с опытным разработчиком и задай любые вопросы.

🎉 Все участники, прошедшие интенсив до конца, получат в подарок электронную книгу Кея Петерсона и Дэвида Колба «Век живи — век учись» от издательства «МИФ», а авторы трёх лучших проектов — сертификаты по 30 000 рублей на любой из курсов Skillbox.
Паттерн проектирования Singleton

Одиночка или же синглтон
– это паттерн проектирования, описывающий объект, у которого имеется один единственный экземпляр.

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

new__(cls, *args, **kwargs) –– вызывается для создания экземпляра класса, перед вызовом __init. На вход первым аргументом метод принимает сам класс, а возвращать должен уже экземпляр (даже можно экземпляр и другого класса).

class Singleton:
instance = None

def __new__(cls):
if cls.instance is None:
cls.instance = super().__new__(cls)

return cls.instance

Здесь мы проверяем, есть ли значение у атрибута instance. Если нет, то присваиваем атрибуту экземпляр этого же класса. А если уже экземпляр создан, то просто его возвращаем.

То есть при вызове конструктора класса Singleton, будет возвращаться один и тот же объект из памяти.

a = Singleton()
b = Singleton()

Создали два экземпляра, теперь убедимся, что они содержат одинаковый объект.

print(a is b) # True