- 博客(17)
- 收藏
- 关注
原创 python操作docx文档, 使用python-docx配合docxtpl操作模板动态生成docx文档
前言: 今天的工作中遇到一个没接触过的需求, 需求是这样的, 把数据库中的数据读出来, 填充到docx文件(docx文件里的内容不固定, 可能很多, 可能没有), 这个需求也是今天遇到的, 一开始是在看python-docx的官网, 希望能找到好的解决办法, 旁边一位前辈指让我用docxpl操作docx模板来达到目的, 说这个省事很多, 这里研究一下准备工作: pip install python-docx, pip install docxtpl(或者直接安装后者, 后者依赖前者, 会把前者也下载下
2020-06-04 22:51:51 4209 1
原创 Python中itemgetter和groupby有趣的结合使用
这两天, 新入职公司, 看了一段代码实现挺有意思的, 主要用到了itemgetter和groupby这两个方法, 在这里分享, 记录一下先说一下, itemgetter方法, 下面是文档注释, 翻译过来看一下# 先按照中文翻译做个Demo试一下r = [1, 2, 3, 4]f = itemgetter(2)g = itemgetter(0)print(f(r))print(g(r...
2020-04-21 23:06:57 928
原创 python中的描述器
详解参见官方文档: https://docs.python.org/zh-cn/3/howto/descriptor.html1. 如果一个类中定义了__get__(), set(), delete()三个方法中的任意一个, 那么这个类就是一个描述器2. 非数据描述器class A: def __get__(self, instance, owner): """ ...
2020-01-14 14:52:36 154
原创 Linux源码安装Python解释器
一般情况下, linux系统自带Python, 我的centos7自带的是Python2, 这里记录一下, 源码安装Python3, 先看完再操作, 可以节省时间1. 下载对应版本的源码压缩包,版本需求不同的话直接更改后面的版本即可, 大体地址不变, 我这里是在Python官网下载的, 网站在国外, 可能很慢, 有时候网速还可以, 实在慢的话就换个阿里的地址, 自己百度。。。(wget htt...
2020-01-13 15:27:30 990
原创 面试简答REST ful风格
什么是REST ful?不同开发人员的设计风格都不同, REST ful是普遍采用的设计风格REST ful设计的关键点URL尽量使用名词复数, 不使用动词访问同一个URL地址, 采用不同的请求方式, 代表执行不同的操作(get获取, post新增等)过滤参数放在查询字符串中(分页, 页容量)针对不同的操作, 返回不同的响应数据(get返回单个对象或资源列表, post返回新建的...
2019-11-02 11:57:50 2093
原创 数据库的事务和django ORM使用数据库事务以及乐观锁并发下单
数据库事务的四大特性(ACID)原子性: 事务包含的所有操作要么全部成功, 要么全部失败回滚.一致性: 简单的来说A和B一共有5000元, 不管他们两个之间怎么转账, 他们两的钱相加起来还是5000元隔离性: 并发的情况下, 每个用户访问同一张, 数据库为每个用户开启的事务, 不能被其它的事务所干扰, 多个事务之间要相互隔离事务一旦被提交了, 那么数据库中的数据的改变就是永久的, 即使在...
2019-10-31 20:57:00 308
原创 Python中的抽象类
抽象方法: 定义在基类中的方法, 但却没有任何实现, 任何继承这个基类的子类都必须实现这个方法, 否则会报错# 实现一个抽象方法最简单的方法--Python中提供的NotImplementedError异常class Sheep: def get_size(self): raise NotImplementedErrors=Sheep() # 生成一个实例, 注意...
2019-10-22 23:22:47 182
原创 Python中的重载
1. 方法重载在一个类里面. 方法名字相同, 而参数不同, 返回类型呢? 可以相同也可以不同, 重载是让类以统一放入方式处理不同类型数据的一种手段class Spam: def bar(self, x:int, y:int, z:int): print(x, y, z) def bar(self, s:str, n:str, m: str): ...
2019-10-20 21:37:29 285
原创 研究Python中的元类
动态的创建类1. 通过函数 return class 动态的构建需要的类def choose_class(name): if name == 'foo': class Foo: pass return Foo else: class Bar: pass return BarMyClass = choose_class('foo') print(MyClass...
2019-10-20 11:55:32 120
原创 Python三大器--装饰器, 迭代器, 生成器
1. 迭代器自定义迭代器对象: 在类里面提供__iter__和__next__方法创建的对象就是完整的迭代器(为什么说完整呢?)。实际上严格意义来说只要类中实现了__iter__方法实现了, 这个类就是迭代器, 它返回了迭代器对象, 但是一个迭代器对象没有实现__next__方法, 这个迭代器是无法正常使用的, 这里验证了上面的结果class MyIterator(object): ...
2019-10-18 19:39:58 173
原创 windows下安装mysql不能正常启动的解决办法
解决办法就是去安装好的mysql的log日志下找报错原因(看不懂英文直接粘贴到google翻译), 然后结合对应的网上的博客就可解决总结: 像mysql这种有log日志的软件, 启动失败一般日志文件中都给出原因, 查到即可解决...
2019-10-18 17:48:23 484
原创 Python中有趣的列表推导式
list1 = [[1, 2], [3, 4], [5, 6], [7, 8]]list2 = [i for a in list1 for i in a]print(list2)# [1, 2, 3, 4, 5, 6, 7, 8]# 将列表转成numpy矩阵,通过numpy的flatten()方法实现上面的结果import numpy as nplist1 = [[1, 2], [3,...
2019-10-18 17:41:03 162
原创 Python闭包的延迟绑定
Python闭包1. 什么是闭包, 闭包必须满足以下3个条:必须是一个嵌套函数闭包必须返回嵌套的函数嵌套函数必须引用一个外部的非全局的变量2. 闭包的优点避免使用全局变量可以提供部分数据的隐藏可以提供更优雅的面向对象实现def Add(a): def add(b): return a + b return addad(2)(2) # 计算2+2的值, 用类实现...
2019-10-18 12:16:06 183
原创 在Windows环境下访问linux虚拟机中MySQL数据库的配置
需求一般中小型网站的开发都选择 MySQL 作为服务器端的数据库,而前端开发一般都选择Windows环境,所以在Windows环境下访问linux中MySQL数据库就显得尤为重要。步骤授权新用户并刷新生效mysql> GRANT ALL PRIVILEGES ON . TO ‘新用户’@’%’ IDENTIFIED BY ‘新用户的密码’ WITH GRANT OPTION;my...
2019-09-27 11:31:20 412
原创 Python中实现线程隔离
import threadingimport timefrom werkzeug.local import Local, LocalStack# Local是实现线程隔离的方法对象, LocalStack是封装了实现线程隔离方法的栈结构对象class A: b = 1my_obj = Local()my_obj.b = 1def worker(): #...
2019-09-12 21:30:21 410
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人