- 博客(39)
- 收藏
- 关注
原创 Algorithm
# 递归的两个特点:1.调用自身 2.结束条件# 算法(Algorithm):一个计算过程,解决问题的方法# 时间复杂度:用来评估算法运行效率的一个东西# 空间复杂度:用来评估算法内存占用大小的一个式子## 时间复杂度是用来估计算法运行时间的一个式子(单位)。# 一般来说,时间复杂度高的算法比复杂度低的算法慢。# 常见的时间复杂度(按效率排...
2019-07-18 17:53:24
128
原创 视图 触发器 存储过程
视图: 是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,并可以将其当作表来使用。创建视图–格式:CREATE VIEW 视图名称 AS SQL语句CREATE VIEW v1 AS SELET nid,name FROM A WHERE nid > 4删除视图–格式:DROP VIEW 视图名称DROP...
2019-07-18 17:50:41
133
原创 MySQL数据库表内容操作
增: insert into 表 (列名,列名…) values (值,值,值…) insert into 表 (列名,列名…) values (值,值,值…),(值,值,值…) insert into 表 (列名,列名…) select (列名,列名…) from 表删: delete from 表 delete from 表 where id...
2019-07-18 17:08:06
215
原创 MySQL数据库表
创建表:create table 表名( 列名 类型 是否可以为空, 列名 类型 是否可以为空)ENGINE=InnoDB DEFAULT CHARSET=utf8not null - 不可空null - 可空创建列时可以指定默认值:defalut如果为某列设置自增列,插入数据时无需设置此列,默认将自增(表中只能有一个自增列):au...
2019-07-18 16:54:37
148
原创 MySQL数据库
MySQL是一个关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统) 应用软件之一。Window版本:初始化时使用的【mysqld --initialize-insecure】命令,其默认未给root账户设置密码1、下载 2、解压 3、初始化 4、启动MySQL服务 5、启动MyS...
2019-07-18 16:40:52
123
原创 multiprocessing
multiprocessing支持子进程、通信和共享数据、执行不同形式的同步,提供了Process、Queue、Pipe、Lock等组件。但在使用这些共享API的时候,我们要注意以下几点:1.在UNIX平台上,当某个进程终结之后,该进程需要被其父进程调用wait,否则进程成为僵尸进程(Zombie)。所以,有必要对每个Process对象调用join()方法 (实际上等同于wait)。对于多线程...
2019-07-18 16:16:56
233
原创 coroutine
协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。线程和进程的操作是由程序触发系统接口,最后的执行者是系统;协程的操作则是程序员。协程存在的意义:对于多线程应用,CPU通过切片的方式来切换线程间的执行,线程切换时需要耗时(保存状态,下次继续)。协程,则只使用一个线程,在一个线程中规定某个代码块执行顺序。协程的适用场景:当程序中存在大量不需...
2019-07-18 16:09:33
130
原创 queue
queue(队列)用于多线创建一个“队列”对象:import queueq = queue.Queue(maxsize = 10) # 如果maxsize小于1就表示队列长度无限。queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。将一个值放入队列中:q.put(10)put()有两个参数,...
2019-07-18 16:05:46
206
原创 threading事件
通过Event(事件)来实现两个或多个线程间的交互,条件同步和条件变量同步差不多意思,只是少了锁功能因为条件同步设计于不访问共享资源的条件环境。event=threading.Event():条件环境对象,初始值(Flag) 为False事件处理的机制:全局定义了一个“Flag”,如果“Flag”值为 False,那么当程序执行 event.wait 方法时就会阻塞event.isSet()...
2019-07-18 15:58:22
141
原创 threading锁
1.lock(同步锁或线程锁或互斥锁Mutex):当多个线程同时修改同一条数据时,我们只需要把计算(涉及到操作公共数据)的时候串行执行。2.RLock(递归锁):为了支持在同一线程中多次请求同一资源,python提供了“可重入锁”:threading.RLock。RLock内部维护着一个Lock和一个counter变量,counter记录了acquire的次数,从而使得资源可以被多次acquir...
2019-07-18 15:54:12
196
原创 threading
线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位 。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务GIL(Global Interpreter Lock)是在实现Python解析器(CPython)时所引入的一个概念GIL作用:同一时刻允许一个线程执行操作解决多线程问题:使用多进程,协程进程之间相互独立...
2019-07-18 15:45:38
127
原创 contextlib
Python中的上下文管理器(contextlib模块)的任务是:代码块执行前准备,代码块执行后收拾自定义上下文管理器:with语句的作用类似于try-finally,提供一种上下文机制。要应用with语句的类,其内部必须提供两个内置函数__enter__和__exit__。前者在主体代码执行前执行,后者在主体代码执行后执行。as后面的变量,是在__enter__函数中返回的。contextl...
2019-07-18 15:39:29
169
原创 OSI
OSI是Open System Interconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的...
2019-07-18 15:32:28
121
原创 socketserver
SocketServer模块也是Python标准库中很多服务器框架的基础import socketserverclass Myserver(socketserver.BaseRequestHandler): def handle(self): conn = self.request 逻辑代码块if name==“mai...
2019-07-18 15:20:30
173
原创 client_server
socket_client: ################################输入命令让server执行并返回执行结果##TCP###################################### import socket ip_port = ('192.168.31.195',8879) sk = socket.socket()...
2019-07-18 15:16:27
287
原创 socket流程
OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)网络通讯步骤:确定对端IP地址→ 确定应用程序端口 → 确定通讯协议操作系统有0-65535个端口 1024前端口系统自动分配用了UDP:User Datagram Protocol用户数据报协议面向无连接:传输数据之前源端和目的端不需要建立连接。现实生活实例:邮局寄件、实时在线聊天、视频会议…等。...
2019-07-18 15:08:16
485
原创 异常处理
def fun(): ret = 0 try: li = [11, 22] li[3232] except IndexError as e: #try内代码块如果出错,自动执行except块的内容 print('IndexError',e) except ValueError as e: prin...
2019-07-16 22:45:49
206
原创 反射
python中的反射功能是由以下四个内置函数提供:hasattr、getattr、setattr、delattr,四个函数分别用于对对象内部执行:检查是否含有某成员、获取成员、设置成员、删除成员。反射是通过字符串的形式操作对象相关的成员。一切事物都是对象class Foo: def __init__(self, name,age): self.name = name ...
2019-07-16 22:44:08
124
原创 单例模式
单例,顾名思义单个实例。单例模式用来保证内存中仅存在一个实例(对象)class Foo: __instance = None def __new__(cls, *args, **kwargs): if cls.__instance: return cls.__instance else: obj = ...
2019-07-16 22:42:49
98
原创 class成员修饰
成员修饰符: 共有成员 私有成员:__字段名 外部无法直接访问,只能间接访问(通过同一个类内部)class Qoo: def __init__(self, name, age): self.name = name self.age = age self.__age = ageobj = Qoo('ds','23')obj.na...
2019-07-16 22:40:34
125
原创 class成员
类成员:字段: 普通字段,保存在对象中,执行只能通过对象访问 静态字段,保存在类中, 执行 可以通过对象访问 也可以通过类访问方法: 普通方法,保存在类中,由对象来调用,self =》对象 静态方法,(加@staticmethod)保存在类中,由类直接调用(类名+方法),不需要self 类方法,(加@classmethod)保存在类中,由类直接调用,cls =》当前类...
2019-07-16 22:37:01
261
原创 class __metaclass__
obj对象是通过执行Foo类的构造方法创建,Foo类对象 是通过type类的构造方法创建obj对象是Foo类的一个实例,Foo类对象是 type 类的一个实例# 创建类就可以有两种方式:普通方式class Foo(object): def func(self): print('hello wupeiqi')# 特殊方式(type类的构造函数):type第一个参数:类...
2019-07-16 22:29:51
88
原创 class对象
面向对象编程(Object Oriented Programming,OOP)三大特性是指:封装、继承和多态。class是关键字,表示类,类中的函数第一个参数必须是self,self是指调用方法的调用者(对象)领域建模的三字经方法:找名词、加属性、连关系class Goo: #父类(基类) def ee(self,ty): print(ty) def ff(...
2019-07-16 22:26:45
75
原创 xml
xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今很多传统公司如金融行业的很多系统的接口还主要是xml。# xml的格式如下,就是通过<>节点来区别数据结构的:# 自己创建xml文档import xml.etree.ElementTree as ETnew_x...
2019-07-16 22:19:26
103
原创 time
时间有三种表示方式: 时间戳 1970年1月1日之后的秒,即:time.time() 格式化的字符串 2014-11-11 11:11, 即:time.strftime(’%Y-%m-%d’) 结构化时间 (struct_time) 元组包含了:年、日、星期等… time.struc...
2019-07-16 22:16:39
84
原创 shutil
高级的 文件、文件夹、压缩包 处理模块# #!/user/bin/env python# #!-*- coding:utf-8 -*-import shutildef f(a,b): shutil.copytree(a,b)f('D:\pycharm-professional-2017.1.3及破解','F:\hsgdhsag')# copy()# 功能:复制文件#...
2019-07-16 22:12:35
104
原创 Re
正则表达式:匹配 字符串string提供的方法是完全匹配引入正则原因:模糊匹配import reret = re.findall('w\w{2}l','hello world')print(ret)# 元字符: . ^ $ * + ? {} [] | () \# .(通配符:只能代指任意一个字符,代表除了换行符的所有字符)ret = re.fi...
2019-07-16 22:10:45
84
原创 paramiko
paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现实。下载安装:pip3 install paramiko pip安装缺少demos文件不能实时交互 下载源码包# 执行命令 - 通过用户名和密码连接服务器:import paramikossh = p...
2019-07-16 22:03:25
94
原创 os
与操作系统交互 提供对操作系统进行调用的接口import osprint(os.getcwd())#获取当前工作目录,即当前python脚本工作的目录路径# os.chdir(r"c:\\Users") 改变当前脚本工作目录;相当于shell下cdprint(os.curdir) #返回当前目录: ('.')print(os.pardir) # 获取当前目录的父目录字符串名:('..'...
2019-07-16 22:00:34
106
原创 logging
Python 使用logging模块记录日志涉及四个主要类,使用官方文档中的概括最为合适: logger提供了应用程序可以直接使用的接口; handler将(logger创建的)日志记录发送到合适的目的输出; filter提供了细度设备来决定输出哪条日志记录; formatter决定日志记录的最终输出格式。import logginglogging.basicConfig(le...
2019-07-16 21:58:20
542
原创 json pickle shelve
json,用于字符串 和 python数据类型间进行转换pickle,用于python特有的类型 和 python的数据类型间进行转换Json模块提供了四个功能:dumps、dump、loads、loadpickle模块提供了四个功能:dumps、dump、loads、loadimport jsondic={'name':'alvin','age':23,'sex':'male'}wi...
2019-07-16 21:55:14
124
原创 hashlib
用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法import hashlibm=hashlib.md5() #常用md5算法print(m)m.update('hello woeld'.encode('utf8'))print(m.hexdigest())m.update('sjhd'....
2019-07-16 21:42:43
78
原创 sys configparser random subprocess
与python解释器交互import sysprint(sys.argv)#命令行参数List,第一个元素是程序本身路径sys.exit(n) #退出程序,正常退出时exit(0)print(sys.version) #获取Python解释程序的版本信息sys.maxint #最大的Int值print(sys.path) #返回模块的搜索路径,初始化时使用P...
2019-07-16 21:41:36
88
原创 模块
模块,用一砣代码实现了某个功能的代码集合。一个.py文件就称之为一个模块(Module)。模块一共三种:python标准库(内置模块),第三方模块(开源模块),应用程序自定义模块(自定义模块)import random 通过搜索路径找到random.py将random = random.py所有代码加载from random import randrange,ran...
2019-07-16 21:35:24
122
原创 生成器 装饰器 迭代器
列表生成器:def f(n): return n**3a=[f(x) for x in range(100)]print(a)print(type(a))生成器:生成器一共两种创建方式:1.(x for i in range(0))2.yield生成器在创建的时候已经决定了能计算出值的个数,调用next的次数超过这个值就会报错StopIterationdef fib(...
2019-07-16 21:01:56
111
原创 函数
函数在BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedure(过程)和function,在C中只有function,在Java里面叫做method。定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可特性: 1. 减少重复代码 2.使程序变的可扩展 3.使程序变得易维护形参: 形式参数,不是实际存在,...
2019-07-16 20:49:09
122
原创 练习
乘法表:a = 1while a <= 9 : b = 1 while b <= a : print(str(b)+"*"+str(a)+"="+str(b*a),end="\t") b += 1 print() a += 1#print("\n".join("\t".join(["%s*%s=%s" %(x,y...
2019-07-07 22:19:24
87
原创 List Touple Dictionary Set Number String File
Python使用使用中括号 [ ] 来解析列表。列表是可变的(mutable)——可以改变列表的内容。a=[“sdd”,‘231’,“334”] a=list((“sdd”,‘231’,“334”))查([]): a[1:] null表示取到最后 a[0:-1] 取到倒数第二个值为止 索引,切片增(append,insert): a.append(‘d’) a.ins...
2019-07-07 22:19:08
197
原创 基础
数据类型:数字,字符串,字节(bytes),布尔值,列表,元组,字典,集合占位符: %s s = string %d d = digit 整数 %f f = float 浮点数,约等于小数字符编码:ASSIC 每一个字符统一都需要8个bit来存储计算机容量: 1位 = 1bit 8bit = 1byte = 1字节 1024byte...
2019-07-07 22:18:35
112
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人