The Python 3 Standard Library by Example (2017)
ΠΠ²ΡΠΎΡ: Doug Hellmann
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Python 3 ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΡΠ½ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΈ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΠΌ - Π²ΡΠ΅ ΠΎΠ½ΠΈ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ Π³ΠΎΡΠΎΠ²Ρ ΠΊ Π½Π°ΡΠ°Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ²ΡΠΎΡ ΠΊΠ½ΠΈΠ³ΠΈ, ΡΠΊΡΠΏΠ΅ΡΡ ΠΏΠΎ Python, Π·Π½Π°ΠΊΠΎΠΌΠΈΡ ΡΠΈΡΠ°ΡΠ΅Π»Ρ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠ±ΡΠΈΡΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠ΄Π° ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ. ΠΠ½ΠΈΠ³Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ.
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ: https://t.me/progbook2/330
ΠΠ²ΡΠΎΡ: Doug Hellmann
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Python 3 ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΡΠ½ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΈ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΠΌ - Π²ΡΠ΅ ΠΎΠ½ΠΈ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ Π³ΠΎΡΠΎΠ²Ρ ΠΊ Π½Π°ΡΠ°Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ²ΡΠΎΡ ΠΊΠ½ΠΈΠ³ΠΈ, ΡΠΊΡΠΏΠ΅ΡΡ ΠΏΠΎ Python, Π·Π½Π°ΠΊΠΎΠΌΠΈΡ ΡΠΈΡΠ°ΡΠ΅Π»Ρ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠ±ΡΠΈΡΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠ΄Π° ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ. ΠΠ½ΠΈΠ³Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ.
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ: https://t.me/progbook2/330
Telegram
ΠΠ½ΠΈΠ³ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² (reserved)
The Python 3 Standard Library by Example (2017)
ΠΠ²ΡΠΎΡ: Doug Hellmann
ΠΠ²ΡΠΎΡ: Doug Hellmann
coconut - ΠΏΡΠΎΡΡΠΎΠ΅, ΡΠ»Π΅Π³Π°Π½ΡΠ½ΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python.
https://proglib.io/w/615c97b9
https://proglib.io/w/615c97b9
GitHub
GitHub - evhub/coconut: Simple, elegant, Pythonic functional programming.
Simple, elegant, Pythonic functional programming. Contribute to evhub/coconut development by creating an account on GitHub.
Π’ΡΡΠΎΡΠΈΠ°Π» ΠΏΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Python 3.
https://proglib.io/w/84e89c9a
https://proglib.io/w/84e89c9a
Realpython
Object-Oriented Programming (OOP) in Python 3 β Real Python
In this tutorial, you'll learn all about object-oriented programming (OOP) in Python. You'll learn the basics of the OOP paradigm and cover concepts like classes and inheritance. You'll also see how to instantiate an object from a class.
Π’ΠΎΠΏ 5 ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Π² Python.
https://proglib.io/w/a92f96c2
https://proglib.io/w/a92f96c2
Medium
Top 5 Mistakes You Make When Declaring Functions in Python
Write better functions
ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΠ²ΡΡΡΡ Π² Python 3.9.
https://proglib.io/w/29fdea1a
https://proglib.io/w/29fdea1a
Medium
Take a Look at the Awesome New Features Coming in Python 3.9
The dictionary union operator, generic type annotations, and much more
Advanced Python: ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ.
ΠΠ²ΡΠΎΡ ΡΡΠ°ΡΡΠΈ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ ΠΏΠΎΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠΎΠΊΠΈ, Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠ΅ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π² Python.
https://proglib.io/w/dce340be
ΠΠ²ΡΠΎΡ ΡΡΠ°ΡΡΠΈ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ ΠΏΠΎΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠΎΠΊΠΈ, Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠ΅ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π² Python.
https://proglib.io/w/dce340be
Medium
Advanced Python: Concurrency And Parallelism
Explaining Why, When And How To Use Threads, Async And Multiple Processes In Python
#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()
"""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
"""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
Look what I shared: coconut/exceptions.py at master Β· evhub/coconut Β· GitHub @MIUI| https://github.com/evhub/coconut/blob/master/coconut/exceptions.py
GitHub
evhub/coconut
Simple, elegant, Pythonic functional programming. Contribute to evhub/coconut development by creating an account on GitHub.
#python python... PYTHON π π
Look what I shared: coconut/exceptions.py at master Β· evhub/coconut Β· GitHub @MIUI| https://github.com/evhub/coconut/blob/master/coconut/exceptions.py
#from https://github.com/evhub/coconut/blob/master/coconut/command/util.py
def writefile(openedfile, newcontents):
"""Set the contents of a file."""
openedfile.seek(0)
openedfile.truncate()
openedfile.write(newcontents)
def readfile(openedfile):
"""Read the contents of a file."""
openedfile.seek(0)
return str(openedfile.read())
def writefile(openedfile, newcontents):
"""Set the contents of a file."""
openedfile.seek(0)
openedfile.truncate()
openedfile.write(newcontents)
def readfile(openedfile):
"""Read the contents of a file."""
openedfile.seek(0)
return str(openedfile.read())
GitHub
evhub/coconut
Simple, elegant, Pythonic functional programming. Contribute to evhub/coconut development by creating an account on GitHub.
Using RoboBrowser to Login and Extract Data
Π Π΄Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ Π°Π²ΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ RoboBrowser, ΠΌΠΎΠ΄ΡΠ»Ρ Python-3 ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π²Π΅Π±-Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ.
RoboBrowser - ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Pythonic Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΡΠΌ. ΠΠ½ ΠΏΠΎΡΡΡΠΎΠ΅Π½ ΠΏΠΎΠ²Π΅ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ BeautifulSoup. ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΡΡΡ Π² Π²Π΅Π±-ΡΠΎΡΠΌΠ΅ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎΡΠ»Π΅ Π²Ρ ΠΎΠ΄Π° Π² ΡΠΈΡΡΠ΅ΠΌΡ.
#Π²ΠΈΠ΄Π΅ΠΎΠ΄Π½Ρ
https://www.youtube.com/watch?v=hrdDIrT9kJI
Π Π΄Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ Π°Π²ΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ RoboBrowser, ΠΌΠΎΠ΄ΡΠ»Ρ Python-3 ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π²Π΅Π±-Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ.
RoboBrowser - ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Pythonic Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΡΠΌ. ΠΠ½ ΠΏΠΎΡΡΡΠΎΠ΅Π½ ΠΏΠΎΠ²Π΅ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ BeautifulSoup. ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΡΡΡ Π² Π²Π΅Π±-ΡΠΎΡΠΌΠ΅ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎΡΠ»Π΅ Π²Ρ ΠΎΠ΄Π° Π² ΡΠΈΡΡΠ΅ΠΌΡ.
#Π²ΠΈΠ΄Π΅ΠΎΠ΄Π½Ρ
https://www.youtube.com/watch?v=hrdDIrT9kJI
YouTube
Using RoboBrowser to Login and Extract Data
In this video, we make use of RoboBrowser, a Python-3 module, and web automation tool. We write a quick script that automatically logs into a web form and extracts information on a page, once logged in.
This video is part of a larger series on "Web Scrapingβ¦
This video is part of a larger series on "Web Scrapingβ¦
ΠΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ ΠΈ ΡΠ΅Ρ
Π½ΠΈΠΊΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ
#Π²ΠΈΠ΄Π΅ΠΎΠ΄Π½Ρ
https://prglb.ru/3dqtb
#Π²ΠΈΠ΄Π΅ΠΎΠ΄Π½Ρ
https://prglb.ru/3dqtb
β ββPython Unit Test Automation
ΠΠ²ΡΠΎΡ: Ashwin Pajankar
Π Π½Π°ΡΡΠΎΡΡΠ΅ΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ Ρ ΡΠ½ΠΈΡ-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΊΠ°ΠΊ doctest, unittest, nose, nose2 ΠΈ pytest
#ΠΊΠ½ΠΈΠ³Π°Π΄Π½Ρ
https://t.me/progbook/3696
ΠΠ²ΡΠΎΡ: Ashwin Pajankar
Π Π½Π°ΡΡΠΎΡΡΠ΅ΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ Ρ ΡΠ½ΠΈΡ-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΊΠ°ΠΊ doctest, unittest, nose, nose2 ΠΈ pytest
#ΠΊΠ½ΠΈΠ³Π°Π΄Π½Ρ
https://t.me/progbook/3696
ΠΠ±ΡΡΠΌΠ½Π°Ρ ΡΡΠ°ΡΡΡ ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
https://salmonmode.github.io/2019/03/29/building-good-tests.html
https://salmonmode.github.io/2019/03/29/building-good-tests.html
Chris NeJame
Building Good Tests
A collection of testing maxims, tips, and gotchas, with a few pytest-specific notes. Things to do and not to do when it comes to writing automated tests.
Python for DevOps: Learn Ruthlessly Effective Automation (2019)
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π΅ΡΡΡΡ Π»Π΅Ρ ΠΎΡΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ. Python ΡΡΠ°Π» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² Π² ΠΌΠΈΡΠ΅. ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Python Π΄Π»Ρ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΡΡ Π·Π°Π΄Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Linux Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΌΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² DevOps, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Docker, Kubernetes ΠΈ Terraform.
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π΅ΡΡΡΡ Π»Π΅Ρ ΠΎΡΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ. Python ΡΡΠ°Π» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² Π² ΠΌΠΈΡΠ΅. ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Python Π΄Π»Ρ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΡΡ Π·Π°Π΄Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Linux Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΌΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² DevOps, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Docker, Kubernetes ΠΈ Terraform.
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ
Telegram
ΠΠ½ΠΈΠ³ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² (reserved)
Python for DevOps: Learn Ruthlessly Effective Automation (2019)
ΠΠ²ΡΠΎΡΡ: Noah Gift, Kennedy Behrman, Alfredo Deza, Grig Gheorghiu
ΠΠ²ΡΠΎΡΡ: Noah Gift, Kennedy Behrman, Alfredo Deza, Grig Gheorghiu
Π ΡΡΠ°ΡΡΠ΅ Π°Π²ΡΠΎΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π² Excel Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python.
https://proglib.io/w/dad84152
https://proglib.io/w/dad84152
Medium
Automate These 3 (Boring!!) Excel Tasks with Python!
No More Opening Hundreds of Excel Files
Python Automation Cookbook (2020)
ΠΠ²ΡΠΎΡ: Jaime Buelta
Π ΡΡΠΎΠΉ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Python Automation Cookbook ΠΊΠ°ΠΆΠ΄Π°Ρ Π³Π»Π°Π²Π° ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½ΠΎΠ²Π΅ΠΉΡΠΈΠ΅ ΡΠ΅ΡΠ΅ΠΏΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠ΅Π½Π° Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Python 3.8 ΠΈ Π²ΡΡΠ΅. ΠΠ½ΠΈΠ³Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠΈ Π½ΠΎΠ²ΡΠ΅ Π³Π»Π°Π²Ρ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Python Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ . ΠΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°Ρ , Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ Π·Π°Π΄Π°Ρ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ web scraping ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π°Π½Π°Π»ΠΈΠ· ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΡΠ΅ΡΠΎΠ² Π² Π²ΠΈΠ΄Π΅ ΡΠ°Π±Π»ΠΈΡ Ρ Π³ΡΠ°ΡΠΈΠΊΠ°ΠΌΠΈ.
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ
ΠΠ²ΡΠΎΡ: Jaime Buelta
Π ΡΡΠΎΠΉ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Python Automation Cookbook ΠΊΠ°ΠΆΠ΄Π°Ρ Π³Π»Π°Π²Π° ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½ΠΎΠ²Π΅ΠΉΡΠΈΠ΅ ΡΠ΅ΡΠ΅ΠΏΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠ΅Π½Π° Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Python 3.8 ΠΈ Π²ΡΡΠ΅. ΠΠ½ΠΈΠ³Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠΈ Π½ΠΎΠ²ΡΠ΅ Π³Π»Π°Π²Ρ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Python Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ . ΠΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°Ρ , Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ Π·Π°Π΄Π°Ρ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ web scraping ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π°Π½Π°Π»ΠΈΠ· ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΡΠ΅ΡΠΎΠ² Π² Π²ΠΈΠ΄Π΅ ΡΠ°Π±Π»ΠΈΡ Ρ Π³ΡΠ°ΡΠΈΠΊΠ°ΠΌΠΈ.
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ
Telegram
ΠΠ½ΠΈΠ³ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² (reserved)
Python Automation Cookbook (2020)
ΠΠ²ΡΠΎΡ: Jaime Buelta
ΠΠ²ΡΠΎΡ: Jaime Buelta
Π‘ΡΠ°ΡΡΡ ΠΎΠ± ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ
ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Django. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
https://proglib.io/w/77492010
https://proglib.io/w/77492010
Matt Layman
Django Testing Toolbox
In this article, I cover the tools that I reach for to do automated testing when building a Django application. You will also see some common techniques that I apply to every project.
Automate the boring stuff with Python (2019)
ΠΠ²ΡΠΎΡ: Al Sweigart
ΠΠ²ΡΠΎΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π° Π²Π°Ρ ΡΡΡΠΈΠ½Π½ΡΡ ΡΠ°Π±ΠΎΡΡ. ΠΠ½ΠΈΠ³Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Python ΠΈ ΡΡΠ°Π·Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ. ΠΠ°Π½Π½ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΡ Π³Π»Π°Π²Ρ ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΅Π±Π½ΡΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΡ ΠΏΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Gmail ΠΈ Google Sheets ΠΈ ΡΠΎΠ²Π΅ΡΡ ΠΏΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² CSV.
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ
ΠΠ²ΡΠΎΡ: Al Sweigart
ΠΠ²ΡΠΎΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π° Π²Π°Ρ ΡΡΡΠΈΠ½Π½ΡΡ ΡΠ°Π±ΠΎΡΡ. ΠΠ½ΠΈΠ³Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Python ΠΈ ΡΡΠ°Π·Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ. ΠΠ°Π½Π½ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΡ Π³Π»Π°Π²Ρ ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΅Π±Π½ΡΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΡ ΠΏΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Gmail ΠΈ Google Sheets ΠΈ ΡΠΎΠ²Π΅ΡΡ ΠΏΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² CSV.
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ
Telegram
ΠΠ½ΠΈΠ³ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² (reserved)
Automate the boring stuff with Python (2019)
ΠΠ²ΡΠΎΡ: Al Sweigart
ΠΠ²ΡΠΎΡ: Al Sweigart
Forwarded from MoscowPython Conf Channel
ΠΠΎΠ³Π΄Π° Π² ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠ½ ΠΏΠΎ ΡΡΡΠΈ ΡΠ°ΡΠΊΠ°Π»ΡΠ²Π°Π΅ΡΡΡ Π½Π° Π΄Π²Π° ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°: ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ΅ ΠΈ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ΅.
Python 3.5 Π²ΡΡΠ΅Π» Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΡΠΈ Π»Π΅Ρ Π½Π°Π·Π°Π΄, Π½ΠΎ async Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π½Π΅ ΡΠ°ΠΊ ΡΠΆ Ρ ΠΎΡΠΎΡΠΎ. Π Π²ΡΡ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ Π±ΡΡΡ ΠΈΠ½Π°ΡΠ΅β¦
ΠΠ°ΠΊ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ²Π΅ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠ΅, ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΡΠΈΡΠ°ΠΉΡΠ΅ Π² ΡΡΠ°ΡΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠ° Russian Python Week ΠΠΈΠΊΠΈΡΡ Π‘ΠΎΠ±ΠΎΠ»Π΅Π²Π°.
Python 3.5 Π²ΡΡΠ΅Π» Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΡΠΈ Π»Π΅Ρ Π½Π°Π·Π°Π΄, Π½ΠΎ async Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π½Π΅ ΡΠ°ΠΊ ΡΠΆ Ρ ΠΎΡΠΎΡΠΎ. Π Π²ΡΡ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ Π±ΡΡΡ ΠΈΠ½Π°ΡΠ΅β¦
ΠΠ°ΠΊ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ²Π΅ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠ΅, ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΡΠΈΡΠ°ΠΉΡΠ΅ Π² ΡΡΠ°ΡΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠ° Russian Python Week ΠΠΈΠΊΠΈΡΡ Π‘ΠΎΠ±ΠΎΠ»Π΅Π²Π°.
Π₯Π°Π±Ρ
ΠΠ°ΠΊΠ°Ρ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΠ»Π° Π±Ρ Π±ΡΡΡ Π² Python
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ async ΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ½ΠΈΠΊΠ»Π° Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: JavaScript, Rust,...