02 2019 档案

摘要:面向对象设计: 面向对象编程 实例只有变量属性,没有函数属性 类的属性又称静态变量,或静态数据,这些数据与他们所属的类对象绑定,不依赖于任何实例 类的增删改查 静态属性 class Room: def __init__(self,name,width,length,height): self.Nam 阅读全文
posted @ 2019-02-28 22:54 狂奔~ 编辑
摘要:hash算法就像一座工厂,工厂接收你送来的原材料(可以用m.update()为工厂运送原材料),经过加工返回的产品就是hash值 以上加密算法虽然依然非常厉害,但时候存在缺陷,即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。 阅读全文
posted @ 2019-02-27 23:23 狂奔~ 编辑
摘要:configparser用于处理特定格式的文件,其本质上是利用open来操作文件。 生成.ini 读取 import configparser config = configparser.ConfigParser() config.read('example.ini') # 查看所有标题 res = 阅读全文
posted @ 2019-02-27 22:21 狂奔~ 编辑
摘要:std::unique_lock也可以提供自动加锁、解锁功能,比std::lock_guard更加灵活 https://www.cnblogs.com/xudong-bupt/p/9194394.html 阅读全文
posted @ 2019-02-27 15:44 狂奔~ 编辑
摘要:用于便捷记录日志且线程安全的模块 1、单文件日志 生成的log.log 日志等级 注:只有【当前写等级】大于【日志等级】时,日志文件才被记录。 默认级别为warning,默认打印到终端 输出 2、多文件日志 对于上述记录日志的功能,只能将日志记录在单文件中,如果想要设置多个日志文件,logging. 阅读全文
posted @ 2019-02-27 13:36 狂奔~ 编辑
摘要:转自:https://www.cnblogs.com/DswCnblog/p/5628195.html 成员函数 (1) get 获得内部对象的指针, 由于已经重载了()方法, 因此和直接使用对象是一样的.如 unique_ptr<int> sp(new int(1)); sp 与 sp.get() 阅读全文
posted @ 2019-02-27 10:56 狂奔~ 编辑
摘要:一:什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。 二:常用的匹 阅读全文
posted @ 2019-02-26 17:56 狂奔~ 阅读(248) 评论(0) 推荐(0) 编辑
摘要:xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代, 大家只能选择用xml呀,至今很多传统公司如金融行业的很多系统的接口还主要是xml。 xml的格式如下,就是通过<>节点来区别数据结构的: <?xml versi 阅读全文
posted @ 2019-02-26 16:00 狂奔~ 阅读(144) 评论(0) 推荐(0) 编辑
摘要:shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写; key必须为字符串,而值可以是python所支持的数据类型 用的比较少 目的: 将字典写入文件保存起来 阅读全文
posted @ 2019-02-26 15:15 狂奔~ 阅读(101) 评论(0) 推荐(0) 编辑
摘要:之前我们学习过用eval内置方法可以将一个字符串转成python对象,不过,eval方法是有局限性的,对于普通的数据类型, json.loads和eval都能用,但遇到特殊类型的时候,eval就不管用了,所以eval的重点还是通常用来执行一个字符串表达式, 并返回表达式的值。 序列化 我们把对象(变 阅读全文
posted @ 2019-02-26 14:02 狂奔~ 阅读(154) 评论(0) 推荐(0) 编辑
摘要:用于提供对Python解释器相关的操作: 显示进度条 阅读全文
posted @ 2019-02-26 11:37 狂奔~ 阅读(156) 评论(0) 推荐(0) 编辑
摘要:os模块是与操作系统交互的一个接口 removedir:若目录不为空则不允许删除 输出: 阅读全文
posted @ 2019-02-26 11:27 狂奔~ 阅读(182) 评论(0) 推荐(0) 编辑
摘要:1 )、random() 返回0<=n<1之间的随机实数n; 2 )、choice(seq) 从序列seq中返回随机的元素; 3 )、getrandbits(n) 以长整型形式返回n个随机位; 4 )、shuffle(seq[, random]) 原地指定seq序列; 5 )、sample(seq, n) 从序列seq中选择n个随机且独立的元素; random.random()函数是这个模块... 阅读全文
posted @ 2019-02-26 09:09 狂奔~ 阅读(161) 评论(0) 推荐(0) 编辑
摘要:import time # timestamp to struct print(time.localtime()) print(time.time()) # time struct to timestamp print(time.mktime(time.localtime())) # struct to format string print(time.strftime('%Y-%m-%d... 阅读全文
posted @ 2019-02-26 08:40 狂奔~ 阅读(120) 评论(0) 推荐(0) 编辑
摘要:在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了。 为此 Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。 模块是一个包含所有你定义的函数和变 阅读全文
posted @ 2019-02-25 15:02 狂奔~ 阅读(186) 评论(0) 推荐(0) 编辑
摘要:a = 12 b = 33 a,b=b,a print(a,b) 阅读全文
posted @ 2019-02-25 00:17 狂奔~ 阅读(324) 评论(0) 推荐(0) 编辑
摘要:文件系统 文件存储 首先了解如下文件存储相关概念:inode、 dentry(d : dir, entry)、 数据存储、文件系统。 inode 其本质为结构体,存储文件的属性信息。如:权限、类型、大小、时间、用户、盘块位置……也叫作文件属性管理结构,ls 列出的信息也保存在 inode 中, 大多 阅读全文
posted @ 2019-02-24 22:58 狂奔~ 编辑
摘要:strace + 运行的程序,可以查看程序运行的过程中调用的系统函数 read、write函数常常被称为Unbuffered I/O。指的是无用户及缓冲区。但不保证不使用内核缓冲区。 阅读全文
posted @ 2019-02-23 23:32 狂奔~ 编辑
摘要:输出错误,errno是默认的全局变量 错误处理函数: 错误号:errno perror函数: void perror(const char *s); strerror函数: char *strerror(int errnum); 查看错误号: /usr/include/asm-generic/err 阅读全文
posted @ 2019-02-23 18:14 狂奔~ 阅读(235) 评论(0) 推荐(0) 编辑
摘要:常我们在Makefile中会定义一些变量,方便Makefile的修改维护src = main.c func1.c func2.cCC = gcc #arm-linux-gccCPPFLAGS : C预处理的选项 如:-ICFLAGS:C编译器的选项 –Wall –g -cLDFLAGS :链接器选项 阅读全文
posted @ 2019-02-23 17:19 狂奔~ 阅读(138) 评论(0) 推荐(0) 编辑
摘要:1.使用命令:gcc demo.c -o app -g 生成app 2.gdb app 3.list命令,列出代码,后面可以使用l代替list 4.输入b + 行号,在对应的行号设置断点,b + 行号 if 。。。设置条件断点 5.info b 可以查看断点信息 6.可以取消断点 disable + 阅读全文
posted @ 2019-02-23 15:43 狂奔~ 阅读(230) 评论(0) 推荐(0) 编辑
摘要:装饰器:本质就是函数,用来给其他函数增加 附加功能 原则: 1.不修改被修饰函数的源代码 2.不修改被修饰函数的调用方式 装饰器 = 高阶函数 + 函数嵌套 +闭包 高阶函数: 1.函数的参数是一个函数名 2.函数的返回值是一个函数名 3.满足以上两个条件中的一个就是高阶函数 以上说明高阶函数一个人 阅读全文
posted @ 2019-02-22 18:54 狂奔~ 阅读(185) 评论(0) 推荐(0) 编辑
摘要:静态库:复制静态库作为程序代码段的一部分,在可执行程序运行前就已经加入到执行码中, 成为执行程序的一部分 1.优点:将函数库中的函数本地化,寻址方便,速度快,等于字典一函数使用效率 2.缺点:笑话系统资源较大,每个进程使用静态库都要复制一份,无端浪费内存 3.使用场景:多用于核心程序,保证时效性,可 阅读全文
posted @ 2019-02-21 23:05 狂奔~ 阅读(275) 评论(0) 推荐(0) 编辑
摘要:浅拷贝 深拷贝 阅读全文
posted @ 2019-02-21 14:31 狂奔~ 阅读(135) 评论(0) 推荐(0) 编辑
摘要:迭代器: 生成器:这种数据类型自动实现了迭代器协议,其他数据类型要调用内部的iter方法, 所以生成器就是可迭代对象 python中有两种方式提供生成器 1.生成器函数:用yield代替return函数返回,yield 一次返回一个结果,在每个结果中间挂起函数状态, 以便下一次从它离开的地方继续执行 阅读全文
posted @ 2019-02-21 08:46 狂奔~ 阅读(236) 评论(0) 推荐(0) 编辑
摘要:命令模式 文本模式 末行模式 vim基础操作 进入插入模式: i: 插入光标前一个字符 I: 插入行首 a: 插入光标后一个字符 A: 插入行未 o: 向下新开一行,插入行首 O: 向上新开一行,插入行首 进入命令模式: ESC:从插入模式或末行模式进入命令模式 移动光标: h: 左移 j: 下移 阅读全文
posted @ 2019-02-19 22:45 狂奔~ 阅读(357) 评论(0) 推荐(0) 编辑
摘要:open函数 文件模式: rb模式,wb模式 tell(),seeek(),truncate() seek(), 有三种模式,whence对应取:0,1,2 0:表示从文件开头位置,也是默认模式 1:相对位置,相对位置要以‘b‘形式打开文件 2:倒着seek 利用seek读取文件最后一行的内容 阅读全文
posted @ 2019-02-19 18:09 狂奔~ 阅读(873) 评论(0) 推荐(0) 编辑
摘要:#!/usr/bin/python3 ​ l = {'b':90,'a':80,'c':100 } print(sorted(l)) print(sorted(l.values())) print(sorted(l,key=lambda key:l[key])) print(sorted(zip(l.values(),l.keys()))) print(sorted(zip(l.keys(),l... 阅读全文
posted @ 2019-02-18 16:37 狂奔~ 编辑
摘要:zip函数,拉链,传两个有序的参数,将他们一一对应为元祖形式 max,min比较默认比较一个元素,处理的是可迭代对象,相当于for循环取出每个元素进行比较,注意:不同类型之间不可比较 阅读全文
posted @ 2019-02-18 08:43 狂奔~ 阅读(239) 评论(0) 推荐(0) 编辑
摘要:ftp服务器1.安装vsftpd服务器sudo apt-get install vsftpd2.配置vsftpd.conf文件sudo vi /etc/vsftpd.conf添加下面设置anonymous_enable=YESanon_root=/home/itcast/ftpno_anon_pas 阅读全文
posted @ 2019-02-17 23:03 狂奔~ 阅读(332) 评论(0) 推荐(0) 编辑
摘要:who查看当前在线上的用户情况。所有的选项都是可选的,不使用任何选项时,who命令将显示以下三项内容:login name:登录用户名;terminal line:使用终端设备;login time:登录到系统的时间。itcast@ubuntu:~/demo$ who -uH名称 线路 时间 空闲 阅读全文
posted @ 2019-02-17 21:57 狂奔~ 阅读(205) 评论(0) 推荐(0) 编辑
摘要:tar命令只是打成一个包,并不进行压缩 gzip 和 bzip2 用来压缩/解压文件, 1.在压缩的时候不能压缩目录,只能压缩文件,不能将多个文件打包压缩成一个包, 只能单个单个的压缩。 2.压缩的时候源文件不会保留,会随之丢失 gzip file 压缩 gunzip file 解压 bzip2 f 阅读全文
posted @ 2019-02-17 18:13 狂奔~ 阅读(176) 评论(0) 推荐(0) 编辑
摘要:http://www.runoob.com/python3/python3-built-in-functions.html 阅读全文
posted @ 2019-02-17 11:33 狂奔~ 阅读(122) 评论(0) 推荐(0) 编辑
摘要:1.sudo su:切换到root用户,exit退出 2./usr :存放的是软件资源管理包 3. 4. echo $SHELL:$代表环境变量 5.shell,命令解释器 6.bash,bore again shell 命令解释器 7.主键盘快捷键 8.moremore [OPTION] FILE 阅读全文
posted @ 2019-02-16 23:16 狂奔~ 阅读(189) 评论(0) 推荐(0) 编辑
摘要:编程方法论: 面向过程:按照一个固定的流程去模拟解决问题的流程 函数式:编程语言定义的函数 + 数学意义的函数 y = 2*x + 1 函数用编程语言实现 def fun(x): return 2*x + 1 面向对象: 函数式编程 2.函数即“变量” a.函数可以当参数传递 b.返回值可以式函数名 阅读全文
posted @ 2019-02-16 22:08 狂奔~ 阅读(357) 评论(0) 推荐(0) 编辑
摘要:拓展日志加时间功能 参数传递 在 python 中,类型属于对象,变量是没有类型的: 以上代码中,[1,2,3] 是 List 类型,"Runoob" 是 String 类型,而变量 a 是没有类型,她仅仅是一个对象的引用(一个指针),可以是指向 List 类型对象,也可以是指向 String 类型 阅读全文
posted @ 2019-02-15 23:08 狂奔~ 阅读(301) 评论(0) 推荐(0) 编辑
摘要:随着交通信号灯的变化,汽车的行为也将随之而变化,一盏交通信号灯可以指挥多辆汽车。 观察者模式是用于建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应作出反应。 在观察者模式中,发生改变的对象称为观察目标,而被通知的对象称为观察者, 一个观察目标可以对应多个观察者, 阅读全文
posted @ 2019-02-15 18:26 狂奔~ 阅读(408) 评论(0) 推荐(0) 编辑
摘要:Context(环境类): 环境类是使用算法的角色,它在解决某个问题(即实现某个方法)时可以采用多种策略。 在环境类中维持一个对抽象策略类的引用实例,用于定义所采用的策略。 Strategy(抽象策略类): 它为所支持的算法声明了抽象方法,是所有策略类的父类,它可以是抽象类或具体类,也可以是接口。环 阅读全文
posted @ 2019-02-15 09:16 狂奔~ 阅读(186) 评论(0) 推荐(0) 编辑
摘要:将一个请求封装为一个对象,从而让我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。 命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。命令模式可以将请求发送者和接收者完全解耦, 发送者与接收者之间没有直接引用关系, 阅读全文
posted @ 2019-02-14 22:59 狂奔~ 阅读(216) 评论(0) 推荐(0) 编辑
摘要:AbstractClass(抽象类):在抽象类中定义了一系列基本操作(PrimitiveOperations),这些基本操作可以是具体的,也可以是抽象的, 每一个基本操作对应算法的一个步骤,在其子类中可以重定义或实现这些步骤。同时,在抽象类中实现了一个模板方法(Template Method), 用 阅读全文
posted @ 2019-02-14 22:17 狂奔~ 阅读(166) 评论(0) 推荐(0) 编辑
摘要:ROI(region of interest)——感兴趣区域。 用途: 这个区域是图像分析所关注的重点。圈定这个区域,以便进行进一步的处理。而且,使用ROI指定 想读入的目标,可以减少处理时间,增加精度,给图像处理带来不小的便利 一个小孩的脸被alpha融合到一只猫的脸上 阅读全文
posted @ 2019-02-14 18:51 狂奔~ 阅读(194) 评论(0) 推荐(0) 编辑
摘要:// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include //OpenCV核心库头文件 #include //OpenCV图形处理头文件 #include #include "opencv2\opencv.hpp" //OpenCV核心动态链接库,和core.hpp头文件对应,d代表调试版本 ... 阅读全文
posted @ 2019-02-14 09:47 狂奔~ 阅读(659) 评论(0) 推荐(0) 编辑
摘要:print("i am %s" %'admin') # i am admin msg = "i am %s" %'Alex' print(msg) # i am Alex print("i am %s, i am %d" %('admin', 18)) # i am admin, i am 18 t 阅读全文
posted @ 2019-02-13 23:55 狂奔~ 阅读(216) 评论(0) 推荐(0) 编辑
摘要:initializer list 在C++中集合(列表)初始化已经成为一个基本功能 这里,初始化列表可以在“{}”之前使用“=”,其效果与不带“=”的初始化相同。这样一来,自动变量和全局变量的初始化在C++中被丰富了。程序员可以使用以下几种形式完成初始化的工作: 1.等号“=”加上赋值表达式(ass 阅读全文
posted @ 2019-02-13 18:24 狂奔~ 阅读(1429) 评论(0) 推荐(0) 编辑
摘要:将一个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 Target(目标抽象类):目标抽象类定义客户所需接口,可以是一个抽象类或接口,也可以是具体类。Adapter(适配器类):适配器可以调用另一个接口,作为一个转换器,对Adaptee和Target进 阅读全文
posted @ 2019-02-12 22:55 狂奔~ 阅读(159) 评论(0) 推荐(0) 编辑
摘要:以下内容参考https://blog.csdn.net/china_jeffery/article/details/78520237 右值引用若不作为函数参数使用,基本等于滥用 右值引用 (Rvalue Referene) 是 C++ 新标准 中引入的新特性 , 它实现了移动语义 (Move Sem 阅读全文
posted @ 2019-02-12 18:44 狂奔~ 阅读(4969) 评论(0) 推荐(2) 编辑
摘要:根据迪米特法则,如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。Facade模式也叫外观模式,是由GoF提出的23种设计模式中的一种。Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。这个一致的简单的界面被称作facade。 Façade( 阅读全文
posted @ 2019-02-11 23:18 狂奔~ 阅读(228) 评论(0) 推荐(0) 编辑
摘要:如果可以通过已经存在的类,额外添加一个功能生成一个新的类,这种类就是一个装饰器 装饰模式(Decorator Pattern):动态地给一个对象增加一些额外的职责,就增加对象功能来说, 装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式。 Component(抽象构件):它是具体构件和抽象 阅读全文
posted @ 2019-02-10 17:06 狂奔~ 阅读(195) 评论(0) 推荐(0) 编辑
摘要:让类和类进行组合,获得更大的结构。 Proxy模式又叫做代理模式,是构造型的设计模式之一,它可以为其他对象提供一种代理(Proxy)以控制对这个对象的访问。所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行 阅读全文
posted @ 2019-02-09 15:45 狂奔~ 阅读(272) 评论(0) 推荐(0) 编辑
摘要:定义:保证一个类、只有一个实例存在,同时提供能对该实例加以访问的全局访问方法。 单例模式:如Windows的任务管理器 三个要点: 一是某个类只能有一个实例; 二是它必须自行创建这个实例; 三是它必须自行向整个系统提供这个实例 Singleton(单例):在单例类的内部实现只生成一个实例,同时它提供 阅读全文
posted @ 2019-02-09 15:43 狂奔~ 阅读(197) 评论(0) 推荐(0) 编辑
摘要:工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题, 但由于工厂方法模式中的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,势必会增加系统的开销。 此时,我们可以考虑将一些相关的产品组成一个“产品族”,由同一个工厂来统一生产 抽象工厂(Abstract Factor 阅读全文
posted @ 2019-02-08 22:38 狂奔~ 阅读(359) 评论(0) 推荐(0) 编辑
摘要:简单工厂模式 + “开闭原则” = 工厂方法模式 抽象工厂(Abstract Factory)角色:工厂方法模式的核心,任何工厂类都必须实现这个接口。工厂(Concrete Factory)角色:具体工厂类是抽象工厂的一个实现,负责实例化产品对象。抽象产品(Abstract Product)角色:工 阅读全文
posted @ 2019-02-08 22:06 狂奔~ 阅读(204) 评论(0) 推荐(0) 编辑
摘要:工厂(Factory)角色:简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。抽象产品(AbstractProduct)角色:简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。具体产品(Concrete Product)角色:简 阅读全文
posted @ 2019-02-08 20:41 狂奔~ 阅读(251) 评论(0) 推荐(0) 编辑
摘要:在一定环境下,用固定模式解决问题。 设计模式目前种类:GoF的23种 + “简单工厂模式” = 24种 包括: 创建型(Creational)模式:如何创建对象,6种 结构性(Structual)模式:如何实现类或对象的组合,7种 行为型(Behavioral)模式:类或对象怎样交互以及怎样分配职责 阅读全文
posted @ 2019-02-08 19:32 狂奔~ 阅读(367) 评论(0) 推荐(0) 编辑
摘要:1.数字整形 python3不管数字有多大都是int型,没有long类型 1>字符串转换为数字 输出: <class 'str'> 123 <class 'int'> 123 输出: <class 'str'> 0011 <class 'int'> 3 <class 'int'> 10 2>-bit 阅读全文
posted @ 2019-02-03 23:03 狂奔~ 阅读(500) 评论(0) 推荐(0) 编辑
摘要:1.成员运算符,判断某个东西是否在某个东西里包含:in,not in name = "abcd" if "ac" in name: print("ok") else: print("error")# 结果error if "a" not in name: print("ok") else: prin 阅读全文
posted @ 2019-02-03 16:16 狂奔~ 阅读(428) 评论(0) 推荐(0) 编辑
摘要:python开发IDE: #专业版 #不要汉化 快捷键:Ctrl + ? = 整体注释 阅读全文
posted @ 2019-02-03 15:33 狂奔~ 阅读(190) 评论(0) 推荐(0) 编辑
摘要:排序:稳定排序算法,不稳定排序算法 如上图,若两个5排序之后交换了位置就是不稳定的,没有交换位置就是稳定排序 1.选择排序 冒泡是相邻的两个交换,选择法是首元素与最小的交换。 2.冒泡排序 冒泡算法的优化,在待排序数据处于一种趋于有序的情况,可以减少判断次数,比如:1,2,3,4,7,5,6 3.插 阅读全文
posted @ 2019-02-02 23:26 狂奔~ 阅读(289) 评论(0) 推荐(0) 编辑
摘要:二叉树: 叶子节点:没有左孩子也没有右孩子 叶子节点的个数 = 左子树叶子节点个数 + 右子树叶子节点个数 树的高度 : 1.求根节点左子树的高度,再求根节点右子树的高度,比较子树的最大高度再加 1; 2.若左子树还是树,重复步骤1;若右子树还是树,重复步骤1 拷贝二叉树 树的非递归遍历 (中序遍历 阅读全文
posted @ 2019-02-01 22:40 狂奔~ 阅读(274) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示