蠎加载 174
原文: Import Python Weekly Newsletter - Issue No 174 欢迎, 来 PyChina/weekly 共同翻译/增订/推荐 周刊 蠎消息 ;-) 该读 ~ 文章, Blog, 教程… 中级 Python eBook - Free ebook If you are a beginner, intermediate or even an advanced programmer there is something for you in this book. Please note that this book is not a tutorial and does not teach you Python. The topics are not explained in depth, instead only the minimum required information is given. (是也乎: 叕一本免费入门书… 所以, 图书免费, 找作者干点儿什么再收费? ) 用特征标记驯服不可逆性 software engineering Feature Flags are a very simple technique to make features of your application quickly toggleable. The way it works is, everytime we change some behavior in our software, a logical branch is created and this new behavior is only accessible if some specific configuration variable is set or, in certain cases, if the application context respects some rules. (是也乎: 简单的说, 防御型软件架构, 远远没有到放弃的地步… ) Python 咯表驱动单元测试 unit testing Now days, table driven tests are pretty much industry standard. In my workplace, we use table driven tests when we write unit tests (in golang though). Here I shall share a simple code example using pytest that shows how to write table driven tests in Python. In table driven test, what you need to do is, to gather all the tests cases together in a single table. We can use dictionary for each test case and a list to store all the test cases. Instead of discussing it further, let me show you an example. (是也乎: 其实吧, 单元测试的难点不在技术, 而在成本的认同… ) Qt for Python: under the hood pyside When the PySide project was launched back in 2009, the team decided to use external tools to generate Python bindings from Qt C++ headers. One of the main concerns, besides using a tool that properly handles all the Qt C++ constructs, was the size of the final packages. The previous choice was using templates excessively, hence another alternative was required. After analyzing a few other options the team decided to write their own generator, Shiboken. (是也乎: Qt 当年的开源是自救,现在面对移动互联网, 却一直没找到嗯哼点… 当然从 PySide –> Shiboken , 可能也只是因为 Why not 毕竟客户不多… ) 用 Python 和 scrapy, xarray, 以及 cartopy 可视化全球土地温度 scrapy, xarry, cartopy A few years ago, I worked on a project that involved collecting data on a variety of global environmental conditions over time. Some of the data sets included cloud cover, rainfall, types of land cover, sea temperature, and land temperature. I enjoyed developing a greater understanding of our Earth by visualizing how these conditions vary over time around the planet. To get a sense of how fun and informative it can be to analyze environmental data over time, let’s work on visualizing global land surface temperatures from 2001 to 2016. (是也乎: 当然, 一切的开始, 还是得要先有公开数据 ) A Gilectomy 更新 gil In a rather short session at the 2018 Python Language Summit, Larry Hastings updated attendees on the status of his Gilectomy project. The aim of that effort is to remove the global interpreter lock (GIL) from CPython. Since his status report at last year’s summit, little has happened, which is part of why the session was so short. He hasn’t given up on the overall idea, but it needs a new approach. Gilectomy has been “untouched for a year”, Hastings said. He worked on it at the PyCon sprints after last year’s summit, but got tired of it at that point. He is “out of bullets” at least with that approach. With his complicated buffered-reference-count approach he was able to get his “gilectomized” interpreter to reach performance parity with CPython—except that his interpreter was running on around seven cores to keep up with CPython on one. (是也乎: 真的有人真正动手来清除所有 GIL , 虽然 Guido 不动手, 但是, 开源世界里, 不代表不可能… ) forge project forge is an elegant Python package for crafting function signatures. Its aim is to help you write better, more literate code with less boilerplate. (是也乎: 好闹… ) 用 Python 实现缝线雕刻 image processing Seam carving is a novel way to crop images without losing important content in the image. This is often called “content-aware” cropping or image retargeting. (是也乎: 内容感知向的图片智能裁剪 ) Bpython - 可选交互式 Python 解释器 - YouTube video Bpython - alternative interactive python interpreter (是也乎: 和 IPyNB 同时期诞生的交互增强, 可惜, 人家都独立为 Jupyter 了, Bpython 还在嗯哼… ) Python 中的抽象语法树(ast library) AST An Abstract Syntax Tree is a simplified syntactic tree representation of a programming language’s source code. Each node of the tree stands for an statement occurring in the code. This trees don’t show the entire syntactic clutter, just the important information for analyzing the code. If it showed the entire structure it would be a Concrete Syntax Tree, but it’s usually better to simplify it because the information we use when building compilers can be found on an abstract syntax tree. (是也乎: 内置的只是可用, 远远达不到大家的期待.. ) 好物 ~ 包/模块/库/片段… ...