201806-06 关于3个Python模板库的比较 你的下一个Python项目需要一个模板引擎来自动生成HTML吗?这有几种选择。在我的日常工作中,我花费大量的时间将各种来源的数据转化为可读的信息。虽然很多时候这只是电子表格或某种类型的图表或其他数据可视化的形式,但也有其他时候,将数据以书面形式呈现是有意义的。但我的头疼地方就是复制和粘贴。如果你要将数据从源头移动到标准化模板,则不应该复制和粘贴。这很容易出错,说实话,这会浪费你的时间。... 继续阅读 >
201805-07 如何写一手漂亮的模型:面向对象编程的设计原则综述 面向对象的编程在实现想法乃至系统的过程中都非常重要,我们不论是使用TensorFlow还是PyTorch来构建模型都或多或少需要使用类和方法。而采用类的方法来构建模型会令代码非常具有可读性和条理性,本文介绍了算法实现中使用类和方法来构建模型所需要注意的设计原则,它们可以让我们的机器学习代码更加美丽迷人。大多数现代编程语言都支持并且鼓励面向对象编程(OOP)。即使我们最近似乎看到了一些偏离,因为人们开始使用... 继续阅读 >
201804-11 Python性能优化的20条招数 优化算法时间复杂度算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。减少冗余数据如用上三角或下三角的方式去保存一个大的对称矩阵。在0元素占大多数的矩阵里使用稀疏矩阵表示。合理使用copy与de... 继续阅读 >
201804-02 Python并发编程之进程 一、理论概念1、定义进程(Process也可以称为重量级进程)是程序的一次执行。在每个进程中都有自己的地址空间、内存、数据栈以及记录运行的辅助数据,它是系统进行资源分配和调度的一个独立单位。2、并行和并发并行:并行是指多个任务同一时间执行;并发:是指在资源有限的情况下,两个任务相互交替着使用资源;3、同步和异常同步是指多个任务在执行时有一个先后的顺序,必须是一个任务执行完... 继续阅读 >
201803-23 用Python构建你自己的RSS提示系统 人生苦短,我用Python,Python是非常棒的快速构建应用程序的编程语言。在这篇文章中我们将学习如何使用Python去构建一个RSS提示系统,目标是使用Fedora快乐地学习Python。如果你正在寻找一个完整的RSS提示应用程序,在Fedora中已经准备好了几个包。Fedora和Python——入门知识Python3.6在Fedora中是默认安装的,它包含了Python的很多标准库。标准库提供了一些可以让我们的任务更加简单完成... 继续阅读 >
201803-08 国际象棋版AlphaZero出来了诶,还开源了Keras实现ヽ( `0´)ノ 只用了不到4小时。AlphaZero在去年底通过自我对弈,就完爆上一代围棋冠军程序AlphaGo,且没有采用任何的人类经验作训练数据(至少DeepMind坚持这么认为,嗯)。昨天,GitHub有位大神@Zeta36用Keras造出来了国际象棋版本的AlphaZero,具体操作指南如下。项目介绍该项目用到的资源主要有:去年10月19号DeepMind发表的论文《不靠人类经验知识,也能学会围棋游戏》基于DeepMind的想法,GitHub用户@mokemokechi... 继续阅读 >
201802-27 2018 年 Web 开发者路线图:最全的教程、资源和在线课程 编者按:WEB开发是一个非常热门的职业。该工作的技术性很强,它需要你必须不停地提高、不断地加强,才不会被别人比下去,才能保住饭碗。看了以下文章,希望对你提高技能能有一些帮助。本文编译自BrandonMorelli在Medium上发表的文章The2018WebDeveloperRoadmap。想学习代码?没有比现在更好的时候了。下面是一个关于在2018年如何成为一名网络(Web)开发人员的路线图。不要让这些图片吓倒你。要想成为一位优秀的开发... 继续阅读 >
201801-31 用不到 50 行的 Python 代码构建最小的区块链 尽管一些人认为区块链是一个等待问题的解决方案,但毫无疑问,这种新技术是计算机的奇迹。但是,区块链到底是什么呢?区块链它是比特币或其他加密货币进行交易的数字账本,账本按时间顺序记录并对外公开。在更一般的术语中,它是一个公共数据库,新数据存储在一个名为块的容器中,并被添加到一个不可变链(后来的区块链)中添加了过去的数据。在比特币和其他加密货币的情况下,这些数据是一组交易记录。当然,数据可... 继续阅读 >
201801-16 15000个Python开源项目中精选Top30,Github平均star为3707 继推出2017年机器学习开源项目Top30榜单后,MybridgeAI又推出了一个Python开源项目Top30榜单,包括开源Python库、工具等。该榜单基于项目质量、用户参与度以及其他几个方面进行了评估,从大约15000个开源项目中挑选了Top30,差不多都是在2017年1-12月发布。这些项目在Github上的平均star为3707。No1:Home-assistant(v0.6+)基于Python3的开源家庭自动化平台[Github11357stars,由PaulusSchoutsen提供]htt... 继续阅读 >
201801-10 100行Python代码自动抢火车票! 今年你不妨自己写一段代码来抢回家的火车票,是不是很Cool。先准备好:12306网站用户名和密码chrome浏览器及下载chromedriver下载Python代码,来自网络整理[点击下载]代码用的Python+Splinter开发,Splinter是一个使用Python开发的开源Web应用测试工具,它可以帮你实现自动浏览站点和与其进行交互。Splinter官网http://splinter.readthedocs.io/en/latest/。Splinter执行的时候会... 继续阅读 >
201801-10 机器学习算法 Python 实现 机器学习算法Python实现目录机器学习算法Python实现逻辑回归_手写数字识别_OneVsAll六、PCA主成分分析(降维)3、主成分分析PCA与线性回归的区别6、主成分个数的选择(即要降的维度)9、使用scikit-learn库中的PCA实现降维七、异常检测AnomalyDetection1、高斯分布(正态分布)3、评价的好坏,以及的选取... 继续阅读 >
201801-03 Python玩“跳一跳” iOS+Win 硬件实现 感谢来自 wangshub 的跳跃距离算法原项目地址:wangshub/wechat_jump_game知乎专栏:教你用Python来玩微信跳一跳本项目知乎专栏:python玩“跳一跳”iOS+Win版目前已有的iOS跳一跳辅助需要macOS环境下的WebDriverAgentRunner。而现在介绍的方法在Windows环境下通过物理方法实现,不需要macOS也不需要越狱。运行环境&工具Python3.6inWindowsPythonPillow库局域网环境... 继续阅读 >
201712-13 Python实现数据结构常见算法 本文主要介绍了数据结构中的八大排序算法,利用Python分别将他们进行实现。前言八大排序,三大查找是《数据结构》当中非常基础的知识点,在这里为了复习顺带总结了一下常见的八种排序算法。常见的八大排序算法,他们之间关系如下:排序算法他们的性能比较:性能比较下面,利用Python分别将他们进行实现。直接插入排序算法思想:直接插入排序直接插入排序的核心思想就... 继续阅读 >
201711-22 Python 内存优化 实际项目中,pythoner更加关注的是Python的性能问题,之前也写过一篇文章《 Python性能优化 》介绍Python性能优化的一些方法。而本文,关注的是Python的内存优化,一般说来,如果不发生内存泄露,运行在服务端的Python代码不用太关心内存,但是如果运行在客户端(比如移动平台上),那还是有优化的必要。具体而言,本文主要针对的Cpython,而且不涉及C扩展。我们知道,Python使用引用技术和垃圾回收来管理内存,... 继续阅读 >
201711-22 python 并发subprocess.Popen的坑 表现一个父进程里多个线程并发地调用subprocess.Popen来创建子进程的时候,会有几率出现Popen长时间不返回的情况.这个问题是由于fd被多个子进程同时继承导致的.重现问题的代码下面这个小程序启动2个线程,每个线程各自(通过subprocess.Popen)启动一个子进程,一个子进程执行echo1后就直接返回;另一个子进程启动后,sleep0.03秒后返回.程序里统计了2个调用Popen花的时间,运行后可以发现,ech... 继续阅读 >
201711-08 Python并行处理 简介当你在机器上启动某个程序时,它只是在自己的“bubble”里面运行,这个气泡的作用就是用来将同一时刻运行的所有程序进行分离。这个“bubble”也可以称之为进程,包含了管理该程序调用所需要的一切。例如,这个所谓的进程环境包括该进程使用的内存页,处理该进程打开的文件,用户和组的访问权限,以及它的整个命令行调用,包括给定的参数。此信息保存在UNIX/Linux系统的流程文件系统中,该系统是一个虚拟文... 继续阅读 >