Python
Snippets
Generators allow you to define lazy-loaded infinite sequences:
Find first item in iterable that satisfies a criterion:
Convert between time formats (source, source):
Get list of dictionary keys sorted by their values (source):
Check of datetime object is localized (source):
Links
How to use Python's unittest.mock.patch #video - "How to use (and where to apply) Python's unittest.mock.patch in your test suites. In this video I show where to patch, and three ways of applying mock.patch: as a decorator, as a context manager, and inline using mock.patch.start() and mock.patch.stop()."
Is Python pass-by-reference or pass-by-value? #article - " 'Object references are passed by value.' When I first read this smug and overly-pithy definition, I wanted to punch something."
PyCharm #software - IDE. The community edition is free to use, even at work.
Python File I/O #article - "In this article, you'll learn about Python file operations. More specifically, opening a file, reading from it, writing into it, closing it and various file methods you should be aware of."
Python's strftime
directives - "I need to use Python’s strftime
rarely enough that I can’t remember it off the top of my head and never bookmark it but often enough to be annoyed with having to Google “python strftime” and then find the table above in the Python documentation. So I decided to put this reference page up."
SnakeViz #software - "SnakeViz is a browser based graphical viewer for the output of Python’s cProfile module and an alternative to using the standard library pstats module. It was originally inspired by RunSnakeRun. SnakeViz works on Python 2.7 and Python 3. SnakeViz itself is still likely to work on Python 2.6, but official support has been dropped now that Tornado no longer supports Python 2.6."
Traps for the Unwary in Python’s Import System #article - "Python’s import system is powerful, but also quite complicated. Until the release of Python 3.3, there was no comprehensive explanation of the expected import semantics, and even following the release of 3.3, the details of how sys.path
is initialised are still somewhat challenging to figure out."
Books
Elegant SciPy by Juan Nunez-Iglesias, Stefan van der Walt & Harriet Dashnow
Flask Web Development by Miguel Grinberg
Fluent Python by Luciano Ramalho
The Hitchhiker's Guide to Python by Kenneth Reitz & Tanya Schlusser
Introducing Python by Bill Lubanovic
Natural Language Processing with Python by Steven Bird, Ewan Klein, Edward Loper - "This book offers a highly accessible introduction to natural language processing, the field that supports a variety of language technologies, from predictive text and email filtering to automatic summarization and translation. With it, you'll learn how to write Python programs that work with large collections of unstructured text. You'll access richly annotated datasets using a comprehensive range of linguistic data structures, and you'll understand the main algorithms for analyzing the content and structure of written communication."
Python Data Science Handbook by Jake VanderPlas
Test-Driven Development with Python by Harry J.W. Percival
Think Bayes by Allen B. Downey
Think Python, 2nd Edition by Allen B. Downey
Thoughtful Machine Learning with Python by Matthew Kirk
Twisted Network Programming Essentials by Jessica McKellar & Abe Fettig
Web Scraping with Python by Ryan Mitchell
matplotlib
Matplotlib trendline #article - "Drawing a trendline of a scatter plot in matplotlib is very easy thanks to numpy’s polyfit function."
pytz
List of tz database time zones #article - Wikipedia. "This is a list of time zones from release 2017c of the tz database."
pytz on pypi - "pytz brings the Olson tz database into Python. This library allows accurate and cross platform timezone calculations using Python 2.4 or higher. It also solves the issue of ambiguous times at the end of daylight saving time, which you can read more about in the Python Library Reference (datetime.tzinfo
)."
pytz - World Timezone Definitions for Python #article - Docs. "pytz brings the Olson tz database into Python. This library allows accurate and cross platform timezone calculations using Python 2.4 or higher. It also solves the issue of ambiguous times at the end of daylight saving time, which you can read more about in the Python Library Reference (datetime.tzinfo)."
Time Zone Database - IANA. "The Time Zone Database (often called tz or zoneinfo) contains code and data that represent the history of local time for many representative locations around the globe. It is updated periodically to reflect changes made by political bodies to time zone boundaries, UTC offsets, and daylight-saving rules. Its management procedure is documented in BCP 175: Procedures for Maintaining the Time Zone Database."
tz database #article - Wikipedia. "The tz database is a collaborative compilation of information about the world's time zones, primarily intended for use with computer programs and operating systems.[2] Paul Eggert is its current editor and maintainer,[3] with the organizational backing of ICANN.[4] The tz database is also known as tzdata, the zoneinfo database or IANA time zone database, and occasionally as the Olson database, referring to the founding contributor, Arthur David Olson.[5]"
Last updated