- 博客(30)
- 收藏
- 关注
转载 数据库
数据库数据库的分类1. 关系与非关系 关系:数据库中表与表之间有联系 -- mysql 非关系:数据库中没有表的概念 -- Redis、MongoDB(介于关系与非关系之间) 2. 内存与硬盘 内存:数据可以永久存储 -- mysql、MongoDB 硬盘:数据的存取效率极高 -- Redis、memcache3. sql与nosql ...
2019-09-23 17:13:00
211
转载 进程池、线程池和协程
线程定时器import timefrom threading import Timerdef task(): print('线程 start') time.sleep(2) print('线程 end') t = Timer(4, task) # 4s以后开启一个线程t.start()进程池、线程池进程池、线程池的功能:限制进程数或线程...
2019-09-23 17:12:00
268
转载 线程锁
线程锁from threading import Threadx = 0def task(): global x for i in range(200000): x = x + 1if __name__ == '__main__': t1 = Thread(target=task) t2 = Thread(target=tas...
2019-09-22 18:41:00
186
转载 线程
线程进程:资源单位线程运行 = 代码运行进程运行 = 各种资源 + 线程进程和线程的区别线程 ---> 代码的执行和结束进程 ---> 资源的申请和销毁进程内存空间彼此隔离同一个进程下的线程共享资源进程和线程的创建速度进程需要申请资源开辟空间,速度比线程慢线程只是告诉操作系统一个执行方案,速度比进程快开启进程的两种方式方式一import thr...
2019-09-22 18:41:00
208
转载 队列和生产者消费者模型
队列IPC机制:进程通讯管道:pipe,基于共享的内存空间队列:pipe+锁from multiprocessing import Queueq = Queue()q.put(3) # 放值q.get() # 拿值队列不适合传大文件,通常传一些消息生产者消费者模型生产者:生产数据的任务消费者:处理数据的任务生产者--->队列--->消费者生...
2019-09-22 17:27:00
198
转载 Process的一些用法和守护进程
Process的一些用法Process的join用法join():阻塞主进程,等待子进程结束以后,再往下执行from multiprocessing import Processimport timedef task(): print('进程 start') time.sleep(2) print('进程 end')if __name__ == '...
2019-09-22 17:26:00
282
转载 udp协议和socketsever
udp协议服务端import socketserver = socket.socket(type=socket.SOCK_DGRAM)server.bind(('127.0.0.1', 8080))while True: data, addr = server.recvfrom(1024) print(data) server.sendto(data...
2019-09-22 17:25:00
221
转载 并发编程
并发编程进程开启子进程的两种方式方式一from multiprocessing import Processimport timedef task(): print('进程 start') time.sleep(2) print('进程 end') if __name__ == '__main__': p = Process(tar...
2019-09-22 17:25:00
158
转载 socket加入循环和粘包问题
socketsocket加入通信循环客户端import socketsoc = socket.socket()soc.connect(('127.0.0.1', 8080))while True: inp = input('请输入要发送的信息>>>') soc.send(inp.encode('utf-8'))服务端import so...
2019-09-22 17:24:00
262
转载 网络协议
C/S和B/S架构C:client(客户端)、S:server(服务端),比如电脑上装的QQ、微信B:browser(浏览器)、S:server(服务端),比如网页的淘宝、京东B/S架构本质也是C/S架构网络协议网络:网络连接介质+网络协议(osi七层)网络协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层osi七层协议:应用层/表示层/会话层/传输层/网络...
2019-09-05 16:40:00
167
转载 单例模式
单例模式单例模式是23种设计模式中比较简单的一类,整个过程中只有一个实例,所有生成的实例都指向同一块内存空间。实现单例的四种方法方法一通过类的绑定方法class Student: info = None def __init__(self, name, age): self.name = name self.age = ...
2019-09-04 16:26:00
206
转载 元类
元类python中一切皆对象,类实际上也是一个个对象,对象就一定是由一个类实例化得到的,那么这个类,就叫做元类。即,产生类的类,叫做元类。在python中,type是内置的元类,所有的类都是由type实例化得到的。class Student: passprint(type(Student))print(type(dict))print(type(object))pr...
2019-09-03 17:20:00
172
转载 断点调式和面向对象进阶
断点调式在想要加断点的地方,用鼠标点击一下,可以看到一个红色圆圈。变红的地方,程序执行到,就会暂停。断点应该加载在报错之前。控制台报错,点击能看懂的最后一行,光标会快速定位到错误代码,在错误代码上加断点,进行断点调式。issubclass和isinstanceissubclass判断第一个类是不是第二个类的子类,返回true或falseclass Foo: pas...
2019-09-02 21:34:00
211
转载 绑定方法和非绑定方法
绑定方法和非绑定方法绑定方法绑定方法:绑定给谁就是谁来调用,而且会自动把它本身当做第一个参数传入。绑定方法分为类的绑定方法和对象的绑定方法类的绑定方法用classmethod装饰器装饰的方法。为类量身定制对象可以调用,但是仍将该对象的类当做第一个参数传入class Person: def __init__(self, name, age): sel...
2019-08-29 15:16:00
214
转载 组合、多态和封装
组合组合的概念组合指的是,在一个类中以另一个类的对象作为数据属性,称为类的组合,即对象的某个属性是另一个类的对象class Weapon: def knief(self): print('这是一把刀')class Person: def __init__(self, name): self.name = name ...
2019-08-28 20:49:00
202
转载 继承
继承继承是一种创建新类的方式,新建的类可以继承一个或者多个父类,父类又称为基类,新建的类称为子类或派生类,继承一个类,父类中的属性和方法就在子类中。子类可以继承父类的属性和方法,从而解决代码冗余问题。单继承和多继承class A: # 定义父类 passclass B: # 定义父类 passclass C(A): # 单继承,A是父类,C是子...
2019-08-27 17:01:00
166
转载 面向对象编程
面向对象编程面向对象编程是一种程序设计思想面向对象编程和面向过程编码的区别面向过程编程面向过程编程:核心是过程二字,过程指的是解决问题的步骤,即先干什么后干什么。面向过程的设计就好比流水线,是一种机械式的思维方式。优点:复杂的问题流程化,进而简单化缺点:可扩展性差,不便修改面向对象编程面向对象编程:核心是对象二字,对象是属性和方法的结合体。面向对象的设计就好比上帝创造世界...
2019-08-26 21:08:00
155
转载 常用模块
time模块time模块:支持三种不同形式的时间,不同形式的时间之间可以转换1. 时间戳时间戳:时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。import timeprint(time.time())# 1566200008.3932852. 格式化时间格式化时间:格式化时间表示的普通的字符串格式的时间。import timeprint...
2019-08-26 21:05:00
202
转载 模块
模块的四种形式一、什么是模块模块是一系列功能的集合体,而函数是一个功能的集合体,因此模块可以看成是一堆函数的集合体。一个py文件内部就可以放一堆函数,因此一个py文件就可以看成一个模块。模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。如果这个py文件的文件名为module.py,则模块名是module。模块可以被别的程序引入,以使用该模块中的函数等功能。二、模块的...
2019-08-15 16:59:00
382
转载 函数(五)
递归函数在函数内部,可以调用其他函数。如果一个函数在内部调用自己本身,那这个函数就是递归函数。举个例子,我们来计算阶乘n! = 1 * 2 * 3 * ... * n,用函数fact(n)表示,可以看出:fact(n) = n! = 1 * 2 * 3 * ... * (n-1) * n = fact(n-1) * n所以,fact(n)可以表示为fact(n-1)*n,只有当n...
2019-08-14 16:30:00
169
转载 函数(四)
三元表达式条件成立的时候返回值if条件else条件不成立时的返回值x = 10y = 20print(x) if x > y else print(y)三元表达式只支持双分支结构列表推导式可以快速的建立列表,对列表做一些算数运算lt = []for i in range(10): lt.append(i**2)print(lt)lt = [i ** ...
2019-08-13 22:26:00
159
转载 函数(三)
闭包函数为函数传参有两种方式方式一:以参数的形式def func(x): print(x)func(1)# 1方式二:包给函数def outter(x): def inner(): print(x) return innerinner = outter(1)inner()# 1闭包:闭是封闭(函数内部函数),包是包含(...
2019-08-12 16:50:00
163
转载 函数(二)
可变长参数可变长参数:指的是在调用函数时,传入的参数个数可以不固定调用函数时,传值的方式无非两种,一种是位置实参,另一种是关键字实参,因此形参也必须得有两种解决方法,以此来分别接受溢出的位置实参(*)与关键字实参(**)牢记一、可变长形参之*形参中的*会将溢出的位置实参全部接收,然后存储为元组的形式,然后把元组赋值给*后的参数。需要注意的是:*后的参数名约定俗成为args。d...
2019-08-11 11:30:00
171
转载 文件和函数(一)
文件的高级应用1. 可读、可写r+:可读、可写即可读又可写(尽量不要使用),r+ 是在后面追加with open('test.py', 'r+', encoding='utf8') as fr: date = fr.read() fr.write('x = 10') print(date)w+:可写、可读清空文件的功能是w提供的,w+ 更不要使用w...
2019-08-08 16:47:00
224
转载 文件处理和字符编码
一、基本的文件操作1. 什么是文件文件是操作系统为用户或应用程序提供的一个读写硬盘的虚拟概念。文件的操作是基于文件,即文件的操作核心,就是读和写。2. 文件的读和写2.1 文件的读取在Python中,我们使用open()方法可以打开某个具体的文件,open()方法内写入文件路径。open(r'C:\Users\12199\Desktop\新建文本文档.txt')如果想给列表...
2019-08-07 21:22:00
292
转载 Python进阶(三)
数据类型分类一、按存值个数存一个值:整型/浮点型/字符串存多个值:列表/字典/元组/集合二、按有序or无序有序:字符串/列表/元组无序:字典/集合三、按可变or不可变可变:列表/字典/集合不可变:整型/浮点型/字符串/元组Python深浅拷贝在python中,对象赋值实际上是对象的引用。python并没有拷贝这个对象,而是拷贝了这个对象的引用。在python中,分...
2019-08-06 17:23:00
164
转载 Python进阶(二)
列表类型内置方法一、作用描述多个值,比如爱好二、定义方式列表用[]表示,[]内可以有多个任意类型的值,逗号分隔元素三、内置方法优先掌握按索引取值(正向取值+反向取值),即可存也可取hobby_list = ['read', 'run', 'swimming']print(hobby_list[1])hobby_list[-1] = 'dancing'print(...
2019-08-05 22:17:00
192
转载 Python进阶(一)
数字类型内置方法整型一、作用描述年龄、id等二、定义方式x = 10x = int('10')x = int(10.1)x = int('10.1') # 会报错三、内置方法数字类型没有内置方法,只有算数运算+ - * / // ** %和比较运算> >= < <= != ==四、存一个值还是多个值一个值五、有序or无序有序或无序是怎么...
2019-08-03 11:09:00
186
转载 Python基础(四)
while循环循环就是重复的做一件事while循环的语法格式while 条件: code 1 code 2 code 3 ...# 如a = 1while a < 5: print(a) a += 1while循环的退出可以使用break和continue退出循环,但这两者有很大的区别,break是终止循环,不再执行...
2019-08-01 19:24:00
129
转载 Python基础(三)
格式化输出的三种方式格式化输出:符合某种规范的输出一、占位符我们有时会遇到这种情况:要求用户输入信息,然后打印成固定的格式比如要求用户输入姓名和年龄,然后这么打印My name is xxx, my age is xxx.name = 'goudan'age = 20print('My name is '+name+',my age is '+str(age))# My ...
2019-07-31 19:25:00
141
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅