python的接口
摘要:写法一: 由于Mypay类并未实现pay方法,所以上述代码会报错: NotImplementedError 这就起到了限制作用。 但是这种写法如果不去调用Mypay.pay就不会报错。 第二种写法: 报错:TypeError: Can't instantiate abstract class Myp
阅读全文
Python代码教你批量将PDF转为Word
摘要:很多时候在学习时发现许多文档都是PDF格式,PDF格式却不利于学习使用,因此需要将PDF转换为Word文件,但或许你从网上下载了很多软件,但只能转换前五页(如WPS等),要不就是需要收费,那有没有免费的转换软件呢? so,我们给各位带来了一个免费简单快速的方法,手把手教你用Python批量处理PDF
阅读全文
python 黑魔法 ---上下文管理器(contextor)
摘要:所谓上下文 计算机上下文(Context)对于我而言,一直是一个很抽象的名词。就像形而上一样,经常听见有人说,但是无法和现实认知世界相结合。 最直观的上下文,莫过于小学的语文课,经常会问联系上下文,推测...,回答...,表明作者...。文章里的上下文比较好懂,无非就是前与后。 直到了解了计算机的执
阅读全文
python greenlet 背景介绍与实现机制
摘要:最近开始研究Python的并行开发技术,包括多线程,多进程,协程等。逐步整理了网上的一些资料,今天整理一下greenlet相关的资料。 并发处理的技术背景 并行化处理目前很受重视, 因为在很多时候,并行计算能大大的提高系统吞吐量,尤其在现在多核多处理器的时代, 所以像lisp这种古老的语言又被人们重
阅读全文
分布式队列神器 Celery
摘要:Celery 是什么? Celery 是一个由 Python 编写的简单、灵活、可靠的用来处理大量信息的分布式系统,它同时提供操作和维护分布式系统所需的工具。 Celery 专注于实时任务处理,支持任务调度。 说白了,它是一个分布式队列的管理工具,我们可以用 Celery 提供的接口快速实现并管理一
阅读全文
堆排
摘要:预备知识 堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。 堆 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆(大根堆);或者每个结点的值都
阅读全文
快排
摘要:快速排序的基本思想是: 1、先从数列中取出一个数作为基准数 2、分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边 3、再对左右区间重复第二步,直到各区间只有一个数 上述思想用代码表示: 而关键就是partion函数,如何理解这个函数呢? 看动画: 有这样一组数: 用它演示一下
阅读全文
插入排序
摘要:插入排序是基于比较的排序。所谓的基于比较,就是通过比较数组中的元素,看谁大谁小,根据结果来调整元素的位置。 因此,对于这类排序,就有两种基本的操作:①比较操作; ②交换操作 插入排序算法有种递归的思想在里面,它由N-1趟排序组成。初始时,只考虑数组下标0处的元素,只有一个元素,显然是有序的。 然后第
阅读全文
冒泡排序
摘要:原理:比较两个相邻的元素,将值大的元素交换至右端。 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序
阅读全文
二分查找法
摘要:二分查找是一个基础的算法,也是面试中常考的一个知识点。二分查找就是将查找的键和子数组的中间键作比较,如果被查找的键小于中间键,就在左子数组继续查找;如果大于中间键,就在右子数组中查找,否则中间键就是要找的元素。
阅读全文
Python新利器之pipenv(转)
摘要:pipenv 都包含什么? pipenv 是 Pipfile 主要倡导者、requests 作者 Kenneth Reitz 写的一个命令行工具,主要包含了Pipfile、pip、click、requests和virtualenv。Pipfile和pipenv本来都是Kenneth Reitz的个人
阅读全文
pipenv 简要指南
摘要:pipenv 简要指南 pipenv是requests作者的一个项目, 整合了virtualenv, pip, pipfile, 用于更方便地为项目建立虚拟环境并管理虚拟环境中的第三方模块. 安装 直接使用pip即可安装: pip install pipenv 新建虚拟环境 pipenv管理虚拟环境
阅读全文
webpy简单使用
摘要:#!/usr/bin/env python import web import pymysql.cursors # Connect to the database connection = pymysql.connect(host='127.0.0.1', port=3306, ...
阅读全文
初识Dash -- 构建一个人人都能够轻松上手的界面,操控数据和可视化
摘要:从事数据科学工作,少不了使用Pandas、scikit-learn这些Python生态系统中的利器,还有就是控制工作流的Jupyter Notebooks,没的说,你和同事都爱用。但是,要想将工作成果分享给不会用这些工具的人,那该怎么办?怎么才能构建一个人人都能够轻松上手的界面,操控数据和可视化?以
阅读全文
django admin 中实现word文档下载
摘要:为了实现此功能,需要用到的知识点: (1)django admin 自定义字段; 参考:http://www.cnblogs.com/wumingxiaoyao/p/6928297.html (2)使用 docxtpl 模块 对word文档内容 进行替换; 参考:http://www.cnblogs
阅读全文
python操作docx文档(转)
摘要:python操作docx文档 关于python操作docx格式文档,我用到了两个python包,一个便是python-docx包,另一个便是python-docx-template;,同时我也用到了很出名的一个工具"pandoc,下面我会对他们各自进行介绍。 首先便是python-docx包,这是一
阅读全文
利用 Django admin 完成更多任务(转)
摘要:利用 Django admin 完成更多任务 Django admin Django 为未来的开发人员提供了许多功能:一个成熟的标准库,一个活跃的用户社区,以及 Python 语言的所有好处。虽然其他 Web 框架也声称能提供同样的内容,但 Django 的独特之处在于它内置了管理应用程序 —— a
阅读全文
你应该使用 Django admin 的 9 个理由(转)
摘要:你应该使用 Django admin 的 9 个理由 你应该使用 Django admin 的 9 个理由 “问题是,我问到的每个人都持反对意见,他们认为 admin 只限于超级用户,很不灵活并且是难以定制。”—来自 Reddit 的 andybak 我现在要澄清这个误解。Django 的 admi
阅读全文
Python 迭代器和生成器(转)
摘要:Python 迭代器和生成器 在Python中,很多对象都是可以通过for语句来直接遍历的,例如list、string、dict等等,这些对象都可以被称为可迭代对象。至于说哪些对象是可以被迭代访问的,就要了解一下迭代器相关的知识了。 迭代器 迭代器对象要求支持迭代器协议的对象,在Python中,支持
阅读全文
Django模型之Meta选项详解
摘要:Django模型之Meta选项详解 Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性。而可用的选项大致包含以下几类 abstract 这个属性是定义当前的模型是不是一个抽象类。所谓抽象类是不会对应数据库表的。一般我们用它来归纳一些公共属性字段,然后继承它的子类可以
阅读全文