-
mongodb的一般操作
mongodb的基本操作列出所有数据库show dbs选择/创建数据库use Database_name //存在则选择使用该数据库,不存在则创建该数据库删除数据库//删除数据库之前需要选择要删除的数据库show dbsuse Database_namedb.dropDatabase()列出数据库中所有集合show tablesorshow collections创建集合db.createCollection('COLLECTION_NAME')删除集合db.COLLECTION_NAME...…
-
Django多数据库配置
Django多数据库配置setting.py文件配置多数据库DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'xxxx', #数据库名字 'USER': 'xxxx', #用户名,数据库的拥有者 'PASSWORD':'xxxx',#登录密码 'HOST':xxxx',#主机地址本地可配置l...…
-
python数据结构之单链
python实现单链的数据结构class SingleChain(object): def __init__(self): self._header = None def add(self, data): newnode = Node(data) if self._header == None: self._header = newnode else: node = self._...…
-
python数据结构之二叉树
python实现二叉树的数据结构class TreeNode(object): def __init__(self, root): self._root = root @property def rootnode(self): return self._root @property def leftnode(self): if hasattr(self, '_left'): return self...…
-
python广度优先算法
#节点类class TreeNode(object): def __init__(self, root): self._root = root self._left=None self._right=None @property def rootnode(self): return self._root @property def leftnode(self): if hasattr(sel...…
-
python深度优先算法
深度优先算法…
-
pyton标准库装饰器——property
Python内置的 @property 装饰器就是负责把一个方法变成属性调用的。举个例子:传统的类的属性读写方式如下class Student(object): def __init__(self,num): self._score=num def get_score(self): return self._score def set_score(self,num): self._score=num>>>...…
-
python中__init__()、 __call__()、 __new__()、 __del__()方法的作用
根据python的对象从创建到销毁的顺序讲__new__() -> __init__() -> __call__() -> __del__()class Person(object): def __new__(cls,[,*args [,**kwargs]]): return super().__new__(cls,[,*args [,**kwargs]]) def __init__(self,[,*args [,**kwargs]]): ...…
-
关闭MacOS下迅雷不必要的功能
关闭MacOS下迅雷不必要的功能 众所周知下载届的两大毒瘤:百度网盘和迅雷下载。但是两者相比还是百度网盘更不要脸一点!迅雷下载启动之后的全部多余的功能都来自于/Applications/Thunder.app/Contents/PlugIns/该文件夹下的插件,所以只要针对这个文件夹操作就能关闭迅雷不必要的功能!首先想到的就是暴力方法:直接删除文件夹下的全部文件考虑到怕迅雷后期会做软件完整性校验啥的导致无法使用,所以直接删除PlugIns文件夹下的内容不是最好的办法!思来想去,突然想到,...…
-
python虚拟环境之pyenv
安装pyenvbrew install pyenv配置pyenv$ vim ~/.zshrc添加以下代码到.zshrc文件尾部eval "$(pyenv init -)"eval "$(pyenv virtualenv-init -)"然后使修改立即生效$ source ~/.zshrc使用pyenvUsage: pyenv <command> [<args>]Some useful pyenv commands are: commands List al...…
-
python设计模式之访问者模式
访问者模式意义:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TemplateMethod 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。举例:class Finance(object): #财务数据结构类 def __init__(self): self.salesvolume = None # 销售额 self.cost = None # 成本 self.history_salesvolume = ...…
-
python设计模式之策略模式
策略模式意义:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。适应性: 如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为。 一个系统需要动态地在几种算法中选择一种。 如果一个对象有很多的行为,如果不用恰当的模式,这些行为就只好使用多重的条件选择语句来实现。 举例: ```import types class People(object):de...…
-
python设计模式之状态模式
状态模式意义:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。优点: 封装了转换规则。 枚举可能的状态,在枚举状态之前需要确定状态种类。 将所有与某个状态有关的行为放到一个类中,并且可以方便地增加新的状态,只需要改变对象状态即可改变对象的行为。 允许状态转换逻辑与状态对象合成一体,而不是某一个巨大的条件语句块。 可以让多个环境对象共享一个状态对象,从而减少系统中对象的个数。 缺点: 状态模式的使用必然会增加系统类和对象的个数。 状态模式的结构...…
-
python设计模式之观察者模式
观察者模式意义:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。适用性: 一个抽象模型有两个方面,其中一个方面依赖于另一个方面。将这些方面封装在独立的对象中使它们可以各自独立地改变和复用。 一个对象的改变将导致其他一个或多个对象也发生改变,而不知道具体有多少对象将发生改变,可以降低对象之间的耦合度。 一个对象必须通知其他对象,而并不知道这些对象是谁。需要在系统中创建一个触发链,A对象的行为将影响B对象,B对象的行为将影响C对象...…
-
python设计模式之备忘录模式
备忘录模式意义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。适用性: 必须保存一个对象在某一个时刻的(部分)状态, 这样以后需要时它才能恢复到先前的状态。 如果一个用接口来让其它对象直接得到这些状态,将会暴露对象的实现细节并破坏对象的封装性。举例:class AddNumber(object): def __init__(self): self.start = 1 def add(sel...…
-
python设计模式之中介者模式
中介者模式意义:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。适用性: 一组对象以定义良好但是复杂的方式进行通信。产生的相互依赖关系结构混乱且难以理解。 一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。 想定制一个分布在多个类中的行为,而又不想生成太多的子类。 举例: ```class Consumer(object): #消费者类 def init(self, pro...…
-
python设计模式之迭代器模式
迭代器模式意义:提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。适用性: 访问一个聚合对象的内容而无需暴露它的内部表示。 支持对聚合对象的多种遍历。 为遍历不同的聚合结构提供一个统一的接口(即, 支持多态迭代)。举例:def FibonacciSequence(n): x = 0 y = 1 i = 1 while True: yield y if i == n: break ...…
-
python设计模式之命令模式
命令模式意义:“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合。适用性: 抽象出待执行的动作以参数化某对象,你可用过程语言中的回调(call back)函数表达这种参数化机制。所谓回调函数是指函数先在某处注册,而它将在稍后某个需要的时候被调用。Command 模式是回调机制的一个面向对象...…
-
python设计模式之责任链模式
责任链模式意义:将多个处理方法连接成一条链条,请求将在这条链条上流动直到该链条中有一个节点可以处理该请求;通常这条链条是一个对象包含对另一个对象的引用而形成链条,每个节点有对请求的条件,当不满足条件将传递给下一个节点处理。适用性: 有多个的对象可以处理一个请求,哪个对象处理该请求运行时刻自动确定。 你想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。 可处理一个请求的对象集合应被动态指定。举例:class Bases(object): def __init__(se...…
-
python设计模式之模板方法模式
模板方法模式意义:定义一个算法或者流程,部分环节设计为外部可变,用类似于模板的思想来实例化一个实体,可以往模板中填充不同的内容;在模板思想下,实体的整体框架是确定的,他是一个模板,但是模板下内容可变,从而实现了动态的更新流程或算法。适用性: 一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。 各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复。这是Opdyke 和Johnson所描述过的“重分解以一般化”的一个很好的例子[ OJ93 ]。首先识别现有代码中的...…