自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 3

3

2019-06-06 15:17:51 177

原创 Python 插件化开发

动态导入运行时, 根据用户需求(提供字符串), 找到模块的资源动态加载起来1. 内建函数 __import__() __import__(name, globals=None, locals=None, fromlist=(), level=0)name 指代 模块名import 语句本质上就是调用这个函数, 不鼓励直接使用它, 建议使用importlib.import_module...

2019-06-01 18:13:53 395

原创 Python 包管理

Python 中的包管理为什么使用包管理Python 的模块或者源文件直接可以复制到目标目录中, 就可以使用为了更多项目调用使用或者共享给别人, 就需要打包发布到网络, 以便供人使用, 当然目的也是为了复用Pypi (Python Package Index), 公共的模块存储中心 : https://pypi.org/主要工具distutils官方库 distuti...

2019-06-01 14:28:22 1069

原创 2

2

2019-05-31 21:27:56 180

原创 1

1

2019-05-31 21:27:19 137

原创 Python 实现双向链表(容器化)

双向链表设计思路整体设计分为两个类, 一个是节点类, 每个节点作为一个对象; 另一个是链表类, 根据相邻节点间关系(上一个可以找到下一个, 下一个可以找到上一个, head 节点和 tail 节点为 None), 实现对各个节点间关系的操作, 包括append, insert, pop, remove等第二阶段将设计好的类封装成容器整体代码看似复杂, 实际理解发现并非如此, 理清节点间关...

2019-05-30 16:48:41 233

原创 Python Descriptors -> 对数据进行校验

描述器的表现用到3个魔术方法 : get()、set()、delete()方法签名如下 :object.get(self, instance, owner)object.set(self, instance, value)object.delete(self, instance)self 指代当前实例, 调用者instance 是owner的实例owner 是属性...

2019-05-26 18:11:34 294

原创 Python 异常处理

Python 异常处理异常 Exception错误 Error逻辑错误 : 算法写错, 例如加法写成了减法笔误 : 例如变量名写错, 语法错误函数或者类使用错误, 其实这也属于逻辑错误错误是可以避免的异常 Exception本意指意外情况这有个前提, 没有上面说的错误, 也就是说程序写的没有问题, 但是在某些情况下会出现一些意外, 导致程序无法正常的执行下去...

2019-05-21 13:32:24 600

原创 Python 日志分析 -> ip、url、pv、useragent

import datetimeimport refrom pathlib import Pathpattern = '''(?P<remote>[\d.]{7,}) - - \[(?P<datetime>[\w/: +]+)\] \"(?P<method>\w+) (?P<url>\S+) (?P<protocol>[\w\d...

2019-05-14 23:37:38 290

原创 Python 类型注解及业务应用 - inspect模块

函数定义的弊端Python 是动态语言, 变量随时可以被赋值且赋值为不同的类型Python不是静态编译型语言, 变凉了性是在运行期决定的动态语言很灵活但这种特性也是弊端def add(x, y): return x + yprint(add(4, 5))print(add('hello', 'world'))# add(4, 'hello') 报错运行结果9h...

2019-05-10 16:00:55 217

原创 Python 搞定ls命令功能 - argparse 模块

实现功能实现ls 命令功能-l 、 -a 、 -a 和–all 、-h选项显示路径下的文件列表-a 和–all 显示包含 “.”'开头的文件-l 显示详细列表显示-h 和 -l 配合, 个性化显示文件大小, 如1K, 1G, 1T,等, 可以按照1G = 1000M处理类型字符- c 字符- d 目录- 普通文件- l 软连接- b块设备- s socket文件- p...

2019-05-08 09:06:40 4786

原创 Python 搞定Base64 编码/ 解码

Base64 编码核心思想 :每3个字节断开, 拿出一个3字节, 每6个断开, 成4段因为每个字节其实只占了6位, 2**6 = 64, 因此有了base64的编码表每一位当做一个8位看它的值, 这个值就是Base64编码表的索引值(0 ~ 63), 找到对应的字符上图代表ASCII 码对应Base64编码的转换形式OK, 下面我们来考虑以下情况:一个字节能变成几个Base6...

2019-05-04 19:46:42 2302

原创 Python 序列化及其应用 - pickle、Json、MessagePack

为什么要序列化内存中的字典、列表、集合以及各种对象, 如何保存到一个文件中 ?如果是自己定义的类的实例, 如何保存到一个文件中 ?如何从文件中读取数据, 并让它们在内存中再次回复成自己对应的类的实例 ?要设计一套协议, 按照某种规则把内存中数据保存到文件中. 文件是一个字节序列, 所以必须把数据转换成字节序列, 输出到文件, 这就是序列化. 反之从文件字节序列恢复到内存并且还是原来的类型,...

2019-05-02 15:31:22 598

原创 Pyhon -> csv 文件、 ini 文件

csv文件csv文件简介参考http://www.ietf.org/rfc//rfc4180.txt逗号分隔符Comma-Separated Valuescsv 是一个被行分隔符,列分隔符分成的行和列的文本文件csv 不指定字符编码行分隔符为\r\n, 最后一行可以没有换行符列分隔符常为逗号或者制表符每一行称为一条记录record字段可以使用双引号括起来, 也可以不常使用, 如...

2019-05-01 13:59:19 225

原创 Python 实现一个cache 装饰器可过期清除功能

实现一个cache 装饰器可过期清除功能简化设计, 函数的形参定义不包含可变位置参数, 可变关键字参数和keyword-only参数, 可以暂时不考虑缓存大小, 也不考虑存满之后的换出问题# 先来看这段代码import timedef add(x=4, y=5): time.sleep(3) return x+y# 以下6种可以认为是同一种调用print(1, a...

2019-04-27 21:11:39 2385 1

原创 Python 函数装饰器的简单应用

装饰器的应用写一个命令分发器初步要求 :程序员可以方便地注册函数到某一个命令, 用户输入命令时, 路由到注册的函数, 如果此命令没有对应的函数, 执行默认函数分析 :输入命令映射到一个函数, 并执行这个函数, 应该是cmd_tbl[cmd] = fn 的形式, 使用字典比较合适如果输入某一cmd 命令后, 没有找到函数就调用缺省的函数执行, 正好是字典的缺省参数, cmd 是字符...

2019-04-27 09:26:49 216

原创 Python 排序算法整理 -> 冒泡/ 选择排序/ 直接插入排序/ 堆排序

冒泡法 Bubble Sort基本原理属于交换排序, 两辆比较大小后交换顺序,再固定到有序区< 升序 > n 个数从左至右,编号从0 到n-1, 索引0 和1 的值比较,如果索引0 大, 则交换两者位置, 如果索引1 大,则不交换.继续比较索引1 和2 的值, 将大的值放在右侧, 直到n-2 和n-1 比较完, 第一轮比较完成. 第二轮从索引0 比较到n-2,因为最右侧n-1位...

2019-04-21 22:56:05 273

原创 Python 函数作用域/ 嵌套/ global语句使用/ 闭包/ 默认值作用域/ 变量名解析原则LEGB/ 销毁

函数简单整理__作用域、嵌套、global语句使用、闭包、默认值作用域、变量名解析原则LEGB、函数销毁以下内容最好都在pycharm内运行,变量污染问题很头疼,还影响实验结果!!!作用域函数作用域指一个标识符的可见范围,也就是标识符的作用域,我们也常说变量的作用域def foo(): x = 200print(x) 上例中 x 是访问不到的,并且抛出(...

2019-04-13 13:34:57 478

原创 Python 封装/ 解构/ 丢弃变量

封装、解构、丢弃变量篇这里的知识虽然简单,不过还是蛮实用的,我简单做了下整理,保证不了那天会忘鸭 ~封装将多个值用逗号分割,再组合在一起本质上,返回一个元组 (tuple),只是省略了小括号栗子 :a = (2,6) #简单定义个元组 b = 2,6 #把2,6封装成元组print(type(a)) #看下a...

2019-04-06 21:48:37 524

原创 Python 列表操作 -> 深、浅拷贝/ 增删改查

列表索引索引(下标)正索引:从左到右,0开始,为列表内元素编号负索引:从右到左,从-1开始正负索引不可超界,否则报错IndexError为了方便理解可认为列表从左到右排列,左为下界限,右为上界限列表通过索引访问list [index] , index就是索引,使用中括号访问例如:l1 = [A,B,C,D]那么列表l1中A,B,C,D元素正索引依次为:0...

2019-03-28 14:54:58 270

原创 GIT 服务器搭建

1 .首先,下载好CentOS 7.6 64 位版本,装好VMware 软件,点击创建虚拟机2. 接下来选择“典型”跟着点下一步就好啦3. 这里一定要注意一下,一定要选择“稍后安装操作系统”,不要选择第二项,因为第二项和我们想要的有些区别,这里推荐选择第三项!4. 选择自己想要的客机操作系统和CentOS版本5. 这个没得说了给虚拟机起个名字,放置在自己能找到的位置6. 这里把默认...

2019-03-19 18:06:31 246

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除