python
渡来渡往
这个作者很懒,什么都没留下…
展开
-
【python】@staticmethod
1、在class中使用2、在函数前加 @staticmethon,表示这个函数是静态函数,并不需要这个类被实例化就可以使用。3、所以函数的入参并不需要self或者cls原创 2018-03-17 00:12:55 · 3650 阅读 · 0 评论 -
[python] 关于loop的几个小测试
LL = [1, 2, 3, 4, 5]DL = {1: '1', 2: '2', 3: '3', 4: '4'}def Try0(): for l in LL: print(l)def Try1(): return any(l in [4, 6] for l in LL)def Try2(): gen = (l for l in LL if not ...原创 2018-08-30 00:13:58 · 1018 阅读 · 0 评论 -
【 python | 架构设计 】文本文件编解码相关
1、所有的字符与符号,均有其unicode码2、utf-8, utf-16.。。。均为unicode码的存储实现3、没有完全确定的方法可以判断一个已经存在的文本文件是采用哪种编码方式落盘的4、chardet是内置的探测数据的模块5、在一般的web框架中,对数据的处理python都是使用默认的编解码已经完成了。2.7使用ascii 3.5使用utf-86、编写业务处理时,一般均以...原创 2018-08-29 23:30:39 · 204 阅读 · 0 评论 -
【python | gunicorn 】python的文件头如何组织
当我看第一个文件six.py,我发现这个文件的头中包含了作者信息。之前自己写代码没有编写过这些信息,查了一些网上的信息,见<文件头组成>描述。但是其实,第5部分的相关信息,写在文件头是有些反clean code原则的,除非这是一个脚本文件。 <文件头组成>1、每个文件的第一行应该是#!/usr/bin/env python。这使得可以将文件作为隐式调...原创 2018-08-27 23:45:52 · 266 阅读 · 0 评论 -
[python + 设计模式]备忘录模式 memento
memento模式的作用是为了保存一个对象的操作或者流程状态比如:一个命令执行之前的状态,保存下来就能够实现该操作命令的撤销。时序示意图:(转自: https://www.cnblogs.com/gaochundong/p/design_pattern_memento.html)代码示例如下:def memento(obj, deep=False):原创 2018-03-26 23:37:10 · 363 阅读 · 0 评论 -
【python + 设计模式】mediator模式
这个模式的特性就是:在多个类交叉交互、依赖时,保持所有的类独立性与松耦合。将所有需要交叉依赖的接口重新全部通过组合关系封装在一mediator类中。其它类中都使用这个mediator类中的方法,这样就实现的松耦合的目的。示例代码:class TC: def __init__(self): self._tm = None self._bProblem = 0...原创 2018-03-21 23:23:58 · 243 阅读 · 0 评论 -
【python + 设计模式】iterator---迭代器模式
迭代器模式,封装出一个容器,提供访问容器内成员的方法,又不会暴露容器的内容。我觉得在容器的内容是一组可变的对象时,使用起来更好代码示例Traverses a container and accesses the container's elements."""from __future__ import print_functiondef count_to(count): ""...原创 2018-03-19 23:05:41 · 157 阅读 · 0 评论 -
【python + 设计模式】command模式
command模式个人觉得主要的作用就是,将需要执行的action分离并封装,完成对该类行为的一些类似于command的操作。比如:执行记录、统计、撤消、队列等。这种模式在python中没有涉及到啥特殊操作。"""*TL;DR80Encapsulates all information needed to perform an action or trigger an even原创 2018-03-19 22:50:50 · 375 阅读 · 0 评论 -
[python + 设计模式] chaining_method
这个模式主要是将三个以上的method串起来技巧体现在action类中的method可以串起来执行。我觉得和chain模式异曲同工,都是讲一系列的动作串起来执行。注意下面代码中,action类中除了结束method之外其他的method返回值。具体是使用chain还是使用chaining_method,个人觉得都可以解决此类问题了。class Person(obje原创 2018-03-19 22:26:19 · 232 阅读 · 0 评论 -
【python + 设计模式】chain链模式
链模式chain,可以将一个处理流程串成一个链,每一环包括三部分:1、初始化中,需要指向传入的类,2、有判断调用传入类的method3、有自己这一环需要做的处理 @abstractmethon还有一个约束,应该是终止环(class),这一环仅有第三项,需要做的处理,表明没有找到合适的环。代码示例:class Handler(object): __metaclass__ = abc.ABCM...原创 2018-03-18 00:16:36 · 848 阅读 · 0 评论 -
[python] @abc.abstractmethod
用于实现interface的方法校验功能,如果子类不具备@abstractmethod的方法,那么就会抛出异常。但是目前看作用也仅止如此:不具备golang语言中interface的可以被附值后的事例化能力。示例代码:import abcclass AbstractClass(metaclass=abc.ABCMeta): @abc.abstractmethod def abstra...原创 2018-03-17 23:52:45 · 4200 阅读 · 0 评论 -
【python + 设计模式】catalog
在使用python实现时,有4种方式。大同小异。catalog使用场景:类初始化时,入参不同,那么后面执行相同的函数,执行体不同,输出不同。其中一种写法:class Catalog(object): """catalog of multiple static methods that are executed depending on an init parameter ...原创 2018-03-17 00:40:06 · 420 阅读 · 0 评论