
python
文章平均质量分 66
xuexiaoyaani
这个作者很懒,什么都没留下…
展开
-
组件嵌套组件,嵌套子组件点击事件跳转
1. 功能2. 案例2.1 案例注意2.2 效果图2.3 备注1. 功能想在一个组件返回另外一个组件,其中另外一个组件的点击事件中,可以触发多个调转页面,如果一个集群下有多个主机,每点击一个主机时就会跳转到这个主机的详细信息2. 案例2.1 案例注意在子组件中必须传入属性this.props.charent,否则在点击事件只能触发其函数,只...原创 2018-07-14 19:44:07 · 3110 阅读 · 0 评论 -
类特殊属性魔法方法反射
概述运行时,区别于编译时,指的是程序被加载到内存中执行的时候 反射,reflection,指的是运行时获取类型定义信息 一个对象能够在运行时,像照镜子一样,反射出其类型信息 简单说,在python中,能够通过一个对象,找出其type、class、attribute或method的能力,称为反射或者自省。 具有反射能力的函数有:type()、isinstance()、callable()...原创 2018-05-13 19:58:54 · 223 阅读 · 0 评论 -
代码技巧:处理单一文件或者一个列表中的文件及ini配置文件读取
ini配置文件的读取其中有一个非常好的技巧就是当用户传入单一文件,就将这个文件放入一个列表中,若用户传入一个可迭代对象,直接进行跌倒def read(self,filenames,encoding=None): if isinstance(filenames,str): filenames = [filenames] #若是字符串直接放入list,后续跌倒 ...原创 2018-05-19 20:08:03 · 692 阅读 · 0 评论 -
双链表实现
核心思路核心思路就是抽象为现实生活中的排队问题,如何在一个队列中插队、插入那个位置、队列的头时谁,尾时谁?不管是插入合适删除,遇到边界问题如何处理,代码要有健壮性。代码实现#-*- coding=UTF-8 -*-import randomclass Nodes: """no doc""&原创 2018-05-13 11:28:07 · 141 阅读 · 0 评论 -
代码技巧01:模块动态导入雏形------优雅写法,字符串分割后直接解构
动态导入模块方法要继承优雅的书写格式举例导入模块并调用方法,自我方法import importlibdef plugin(name:str,sep='.'): argeglist = name.partition(sep) mod = importlib.import_module(argeglist[0]) cls = getattr(mod,ar...原创 2018-05-19 10:55:06 · 149 阅读 · 0 评论 -
单链表实现
单链表实现思路在现实生活中,要排列一个队伍,有什么呢? 第一 :队伍 第二 :元素 同样在单列表中,需要构造什么呢?构造元素的类,元素类生成队伍中的不同元素构造列表的类,列表类即生成一个列表,列表存储不同元素代码实现#-*- coding=UTF-8 -*-import timeclass Nodes: """no doc""&a原创 2018-05-12 19:53:05 · 147 阅读 · 0 评论 -
类装饰器classmethod and staticmethod
介绍知乎论坛,各大博文都已经关于这个问题的介绍炸锅了,介绍的东西太多了,但是基于每个人的层次不同,理解不同,也有好多初学者,一知半解的记录博客,参考这些博客时,有时候会问题百出,因此参考原汁原味的东西才能获取更好更直接的理解。二话不说classmethod是将类本身给传进来,因此在类方法中如果再次调用实例的方法时,通常采用cls().fmethod() 二话不说,举例说明,用一...原创 2018-05-05 11:10:58 · 384 阅读 · 0 评论 -
简单类练习
生成随机数生成坐标系点#-*- coding: UTF-8 -*-import randomclass Randomint: """ :param 类主要产生随机 """ start = 1 end = 100 def __init__(self,start,end): self.start = start ...原创 2018-05-04 22:19:21 · 177 阅读 · 0 评论 -
类属性装饰器和普通函数装饰器的概念混淆操作
普通函数装饰器装饰器本身就是一个高价函数,要不参数为函数,要不返回值为函数装饰器是在不入侵函数的基础之上,增强装饰函数的功能在带参装饰器有时会用到闭包和柯里化的操作普通函数装饰器案例#sumnum == wapper(sumnum) == _wapper#summum(x,y) == _wapper(x,y)#def summum(x,y) == def _wappe...原创 2018-05-04 19:22:40 · 1316 阅读 · 0 评论 -
\.ini配置文件转字典进行序列化
需求读取mysql下的mysql.ini配置文件,并讲配置文件转化为字典并采用不同方法进行序列化代码实现# -*- coding: UTF-8 -*-import configparserimport jsonimport pickledef series(filename,sdump=pickle.dumps): """ This function ...原创 2018-04-26 21:54:38 · 1787 阅读 · 0 评论 -
set或dict字典去重本质原理
__hash__值不等时,肯定不能去重__hash__值相等时,称hash冲突,冲突后得看__eq__是否相等,若相等则去重原创 2018-05-11 09:44:59 · 740 阅读 · 0 评论 -
模块化执行空间
模块化执行空间计算机得生产,内存条厂商,cpu厂商等等,每个厂商都有自己得生成基地,这些不同的生成基地就像不同的模块一样,因此调用这些模块时,这些模块依然得在自己得模块空间执行,只不过通过传参得形式讲生产原料送入生成基地,最后给你返回得就是成品,这就是模块化...原创 2018-05-17 12:06:45 · 261 阅读 · 0 评论 -
异常压制
异常压制def parse_int(s): try: return int(s) finally: return 0这个时候也不会抛出异常,因为通过finally中得return压制住了原创 2018-05-17 10:22:39 · 987 阅读 · 0 评论 -
离线日志分析核心代码
日志分析步骤正则表达式采用正则表达式将日志部分进行分组匹配信息提取根据正则表达式将日志提取为字典格式作为生产者,不停的产出每条日志信息滑动窗口滑动窗口是每次处理多少数据,时间宽度是多少?周期是多少?数据分发为避免生产者和消费者之间速率不匹配,采用消息队列,将生产者产生的数据存储在消息队列之中,让消费者通过消息队列进行消费数据,文件加载将要...原创 2018-05-03 20:55:16 · 472 阅读 · 0 评论 -
yield from等价式
yield函数在yield嵌套函数中,经常用到yield from 语法糖案例有下面案例中可知,若没有yield from时,还得使用for循环进行迭代,有yield from时无需采用for循环# -*- coding: UTF-8 -*-from collections import Iteratordef test(): """ 函数:生成特殊的...原创 2018-05-03 20:47:34 · 173 阅读 · 0 评论 -
递归统计某目录下文本行数
需求统计某文件目录下的代码行数:以“#”开头的有多少行空行有多少行正式代码有多少行迭代实现1from pathlib import Pathfile_path = Path('C:\\Users\\keke\\PycharmProjects\\untitled')file_p = Path('C:\\Users\\keke\\PycharmProjects\\unt...原创 2018-04-26 08:59:25 · 243 阅读 · 0 评论 -
路径操作
路径基本操作路径初始化p = Path() #表示当前路径print(p)p = Path('a','b','c') #将单个字符进行拼接成路径对象print(p)p = Path('/etc') #路径对象p,路径为/etcprint(p)print(type(p)) #路径对象print(str(p))...原创 2018-04-25 19:27:12 · 534 阅读 · 0 评论 -
查看对象占用内存空间大小
sys模块sys.getsizeof原创 2018-05-10 10:32:43 · 1569 阅读 · 0 评论 -
双向链表封装容器版本——list
将对象存储在列表中将对象存储在列表中,这样就将双链表封装为容器代码实现#-*- coding=UTF-8 -*-import randomclass Nodes: """no doc""" def __init__(self,value,previous=None,nex原创 2018-05-13 20:29:38 · 187 阅读 · 0 评论 -
双向链表封装为容器版本,不借助现有容器
将双向链表封装为容器容器就操作字典等一样操作数据代码实现#-*- coding=UTF-8 -*-import randomclass Nodes: """no doc""" def __init__(self,value,previous=None,next=None): self.value = value self._n...原创 2018-05-13 20:50:35 · 161 阅读 · 0 评论 -
框架路由
1. 基础路由2. 扩展路由1. 基础路由from webob import Response,Requestfrom webob.dec import wsgifyfrom wsgiref.simple_server import make_serverfrom webob.exc import HTTPNotFoundimport reclass Rou...原创 2018-06-28 20:05:48 · 449 阅读 · 0 评论 -
tcp连接编写聊天室
1. 问题1.1 无法退出1.2 服务器端案列程序1.3 客户端案列程序1. 问题此程序案列仅供参考学习,学习其中的思维1.1 无法退出在Linux系统中运行案列代码时存在如下问题:当服务器端quit时,此时self.socket关闭,但是已经进入self.accept,而且accept处于阻塞状态,若不进行捕获则错误退出,若进行捕获则处于阻塞状态无...原创 2018-06-20 15:42:13 · 358 阅读 · 0 评论 -
类属性设置方法
1. 类实例容器操作容器值1.1 __gititem__魔术1.2 __setitem__魔术1.3 实际案例2. 实例属性增删改2.1 __getattr__魔术2.1.1 案例说明2.2 __setattr__魔术2.2.1 案例函数体为打印语句2.2.2 案例函数体为实例字典添加属性语句2.3 __delattr__删除属性魔术3.对象属性增删改...原创 2018-06-30 20:02:06 · 1007 阅读 · 0 评论 -
WSGI的工作流程
1.WSGI作用1.1 工作流程图1.2 主要作用1.WSGI作用WSGI是一套协议,主要作用是规范了wsgi server 和wsgi app之间的接口,1.1 工作流程图可参考图: 1.2 主要作用具体表现为如下:将http请求头部的k,v对封装为字典environ传递给wsgi app;wsgi会调用wsgi app进行处理请...原创 2018-06-25 20:40:26 · 1735 阅读 · 0 评论 -
多线程加锁
多线程加锁在多线程加锁的过程中,要注意如下两个核心关键点:加锁的位置,加锁的位置代表了一旦其中某一线程获取锁后,其他线程就会阻塞到此位置,当加锁的线程执行完毕释放锁后,其他线程会根据阻塞时的位置继续向向执行。加锁边界处理, 在到达边界时,一旦某一线程完成任务后,其他阻塞的线程就不能继续完成任务,要考虑其他线程要退出任务。 举例说明:import timefrom thread...原创 2018-06-10 20:52:40 · 6765 阅读 · 0 评论 -
元编程类编程
1. 标准库type类1.1 创建类方法所以说创建类的两种方法: - 第一种方法为通过传统的方法class定义类 - 第二种方法为通过type类实例化定义类1.2 type类实例化生成类在python标准库种所有类的类型就是type类型,也就是说type(类名)就是type类型,在标准库关于type类描述如下class type(object): de...原创 2018-06-25 09:05:24 · 457 阅读 · 0 评论 -
连接池预加载编程思路
1. 主要思路2. 伪代码1. 主要思路建立连接connect类,每一个连接是一个实例对象,实例对象初始化连接时需提供密码、账号、IP等相关参数建立管理预加载的连接池,连接数可以通过信号量控制,申请一个连接,使用完后返还一个连接,申请一个连接时采用信号量减一,返回时加1,这些预加载的连接对象如何保存,肯定通过采用容器保存2. 伪代码import threadi...原创 2018-06-16 20:27:19 · 803 阅读 · 0 评论 -
异常对程序的影响
异常影响范围异常影响的是运行的线程,运行的线程会奔溃,若异常出现在主线程中时,会导致主进程奔溃,若异常出现在其他线程或其他进程中时,不线程不会奔溃...原创 2018-06-14 09:13:18 · 508 阅读 · 0 评论 -
线程等待属性操作和方法操作
前言1. daemon属性1.1 线程为 non-daemon1.2 线程为 daemon1.3 两种线程共存2. join方法前言进程靠线程执行代码,至少有一个主线程,其他线程是工作线程 主线程是第一个启动的线程 父线程:如果线程中启动了一个线程B,A就是B的父线程 子线程:B就是A的子线程1. daemon属性如果有non-daemon线...原创 2018-06-11 21:42:23 · 225 阅读 · 0 评论 -
进程和线程
进程进程是计算机系统的一套资源,资源包括cpu、内存、IO等,一个计算机可管理的单位,都有独立的堆栈,这也为什么是资源管理器中看到进程。线程线程是进程开的一个个干活单位。 操作系统开一个线程比开一个进程速度快10-100倍,对比进程在单位中销售团队,企业管理销售同一款产品时,会组成不同的销售团队,不同的销售团队负责不同的地区。那么这个销售团队就占有地盘和企业资源,因此这个销售...原创 2018-05-23 10:02:33 · 157 阅读 · 0 评论 -
异常处理及分类总结
导论世界之大,分类为之,异常那些类,请看如下计算print(BaseException.__subclasses__())执行结果:[<class 'Exception'>, <class 'GeneratorExit'>, <class 'KeyboardInterrupt'>, <cl原创 2018-05-16 16:47:13 · 411 阅读 · 0 评论 -
StopIteration异常处理分析思想
案列1函数中局部代码包含迭代器,在跌倒过程中出现问题iterable = iter([1,2])def func(iterable): while True: try: print("ok") print(next(iterable)) print("not ok") e...原创 2018-05-16 15:30:40 · 14405 阅读 · 0 评论 -
git日常操作记录说明
仅限最后一次commit增补在git中经常会遇到这样一件事,在提交一个任务后,发现忘记提交某些文件,但是又不想再次创建一个commit,因此此时有一种增补的方式,很轻松的实现再次添加数据 仅限最后一次commit的增补 具体操作git add licensegit commit --amend " file and add license&a原创 2018-05-22 15:14:50 · 1200 阅读 · 0 评论 -
初始化git的初始化用户信息
初始化用户信息系统级别初始化用户用户级别初始用户项目级别初始化用户举例验证在用户级别设定在项目级别设定验证配置官方帮助信息初始化用户信息初始化用户信息,当人为提交add或commit编辑时,git服务器会记录提交人及邮箱,方便记录信息和给提交人发送邮件。系统级别初始化用户/etc/gitconfig此配置下设定git提交用户信息,每次提交时g...原创 2018-05-21 20:38:01 · 5295 阅读 · 0 评论 -
python类比较相等
A is B ,比较的是内存地址,A对象的内存地址和B对象的内存地址是否相等,若地址相同说明是同一个东西A == B,是运算符重载,是通过__eq__魔术来控制原创 2018-05-15 10:10:19 · 2421 阅读 · 0 评论 -
描述器 Descriptors
概述老子曰:一生二,二生三,三生万物,儒家思想认为,世界万物相生相克,有上必有下,有苦必有甜。大家都在描述一个什么问题?世界生态的构成和对象之间的相互作用。 面向对象又是什么?面向对象是哲人们为实现机器语言编程的一种哲学思想,通过面向对象思想模拟世界万物的生态。 现实世界可以抽象为不同种类的组成,不同种类下又有一个个独立的个体对象组成,每个在现实生活中的个体不一定完全相同,但是每个个体在生...原创 2018-05-14 19:39:28 · 310 阅读 · 0 评论 -
NotImplemented与NotImplementedError区别、__slot__和\__radd__
导入根据实例导入实例演示抛出异常时,根据初始化__init__方法,携带字符串,方便阅读,这也是写日志的最好方法若不按照初始化方法进行抛出异常时,通常采用直接携带字符串并打印出相关字符串NotImplemented在源码中就不是一个类,而是NotImplementedType的一个实例NotIplementedError在源码 中本身就是一个类,而且继承RuntimeError,因...原创 2018-05-20 20:24:03 · 5427 阅读 · 0 评论 -
编写缓存构建业务
缓存业务需求key构建思路访问思路缓存过期代码实现代码框架如下,具体功能业务需更近一步丰富#-*- coding: UTF-8 -*-import inspectimport timeimport functoolsimport datetimedef cache(duration): """ Decorator for function ...原创 2018-04-21 21:14:38 · 254 阅读 · 0 评论 -
绝对路径字符串传参特殊需求转义
问题在一次给open函传参时,传带有\的路径时,总是抱有一异常问题,异常问题为: File"C:/Users/keke/PycharmProjects/untitled/4moth/427/testline.py", line 7 string = 'C:\Users\keke\Desktop\python\p10c07\logs\access.log'SyntaxError: ...原创 2018-05-03 14:24:19 · 669 阅读 · 0 评论 -
StringIO和BytesIO
介绍StringIO导入 from io import StringIO内存中,开辟的一个文本模式的buffer,可以像文件对象一样操作它当close方法调用的时候,这个buffer会被释放stringIO操作class io.StringIO(initial_value=”, newline=’\n’) The initial value of the buf...原创 2018-04-25 14:26:00 · 574 阅读 · 0 评论