- 博客(19)
- 收藏
- 关注
原创 数据库概念
1.数据库优点:稳定性 一致性,并发 存储数据效率高分类:关系型数据库:mysql oracle sqlserver非关系型:redis mangodb概念: 记录-->一行数据 表--->文件 库-->文件夹对应的操作: insert use create清空表...
2018-12-17 21:18:02 138
原创 阻塞 IO多路复用 异步IO
1.阻塞IO在linux中,默认情况下所有的socket都是blocking当用户进程调用了recvfrom这个系统调用,kernel就开始了IO的第一个阶段:准备数据。对于network io来说,很多时候数据在一开始还没有到达(比如,还没有收到一个完整的UDP包),这个时候kernel就要等待足够的数据到来。 而在用户进程这边,整个进程会被阻塞。当kernel一直等到数据...
2018-12-14 20:08:02 412
原创 协程 I/O多路复用
对于操作系统来说协程是不可见的,不需要操作系统调度协程(greenlet 注:小写g):如果检测到线程进入到IO阻塞,就去执行这个线程中的其他任务,即在线程中的任务中来回切换。协程对操作系统有负担吗?答:操作系统负责创建线程,但线程中的任务执行由程序决定,所以协程对操作系统没有负担。(协程是程序级别的操作单位)1.协程就像是状态之间的来回切换和保存,所以是不是跟以前学的yield...
2018-12-13 21:09:42 215 1
原创 线程
Process 进程类 Thread 线程类 二者用法相同1.效率对比import timeimport osfrom multiprocessing import Process as Thread #进程def func(): n = 1+ 2 +3 n**2if __name__ == '__main__': start = tim...
2018-12-11 19:30:57 103
原创 进程池
概念1.进程之间的数据共享:Manager(是一个类),内部有一些数据类型能够实现进程之间的数据共享,但是dict list这样的数据 内部的数字进行自加 自减 是会引起数据不安全的,这种情况下 需要我们手动加锁完成from multiprocessing import Manager,Process,Lockdef work(d,lock): # with lock: #不加...
2018-12-11 15:12:51 89
原创 信号量
multiprocessing : 多进程并发 Process:进程Semaphore, 它负责协调各个线程, 以保证它们能够正确、合理的使用公共资源。也是操作系统中用于控制进程同步互斥的量。信号量 : 锁 + 计数器实现的 普通的锁 acquire 1次 信号量 acquire 多次内部: count计数 如c...
2018-12-10 22:06:19 98
原创 守护进程
什么事守护进程:一个监控系统,主动汇报当前程序的运行状态p = Process(target=alive)p.daemon = True # 设置子进程P为守护进程,守护进程会随着主进程代码的结束而结束守护主进程(本身的使命就是这)以及 如何守护子进程(其实就是在主进程最后加个join就ok了)import timefrom multiprocessing im...
2018-12-07 17:18:06 89
原创 进程
from multiprocessing import Processimport timedef son_process(): print("son start") time.sleep(0.1) print("son end")if __name__ == "__main__": p = Process(target = son_process) ...
2018-12-07 16:11:39 103
转载 反射
反射即想到4个内置函数分别为:getattr、hasattr、setattr、delattr 获取成员、检查成员、设置成员、删除成员下面逐一介绍先看例子: class Foo(object): def __init__(self): self.name = 'abc' def func(self)...
2018-12-06 20:39:12 74
原创 客户端/服务端架构
一、软件开发的架构C/S架构:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的。B/S架构:Browser与Server,中文意思:浏览器端与服务器端架构,这种架构是从用户层面来划分的。注:所有的B/S架构也是C/S架构,因为浏览器也是客户端。arp协议:目标IP地址转换成目标MAC地址的过程IP地址是IP协议提供...
2018-12-03 19:51:16 1390
原创 文件操作整理
"r" 以读方式打开,只能读文件 , 如果文件不存在,会发生异常 "w" 以写方式打开,只能写文件, 如果文件不存在,创建该文。 如果文件已存在,先清空,再打开文件"rb" 以二进制读方式打开,只能读文件 , 如果文件不存在,会发生异常 "wb" 以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件。如果文件已存在,先清空,再打开文件 ...
2018-12-03 16:46:48 159
转载 内置函数
Python内置函数详解——总结篇 2个多月来,将3.5版本中的68个内置函数,按顺序逐个进行了自认为详细的解析,将这些内置函数进行了如下分类: 数学运算(7个) 类型转换(24个) 序列操作(8个) 对象操作(7个) 反射操作(8个) 变量操作(2个) 交互操作(2...
2018-11-30 13:46:26 84
原创 反射进阶 内置方法
1. 反射当前模块成员import sysdef s1(): print ('s1')def s2(): print ('s2')this_module = sys.modules[__name__] #sys.modules[__name__] 全局的空间print(hasattr(this_module, 's1')) 判断s1是否在...
2018-11-29 17:49:20 169
原创 面向对象及进阶
import hashlibpassword = "125156"md5_obj = hashlib.md5("bin".encode())md5_obj.update(password.encode()) ret = md5_obj.hexdigest()print(ret)#注:对象(即"bin"、password)在被哈希(hash)之前一定要先编码(encode)1....
2018-11-28 17:48:40 142
原创 抽象类 接口类 多继承
# 抽象类主要就是作为基类/父类,来约束子类中必须实现的某些方法# 抽象类的特点:# 必须在类定义的时候指定metaclass = ABCMeta# 必须在要约束的方法上方加上@abstractmethod方法from abc import ABCMeta,abstractmethod #抽象方法class Payment(metaclass = ABCMeta): ...
2018-11-22 16:32:21 301
原创 类的继承
继承概念的实现方式有三类:实现继承、接口继承和可视继承。 实现继承是指使用基类的属性和方法而无需额外编码的能力; 接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力; 可视继承是指子窗体(类)使用基窗体(类)的外观和实现代码的能力。子类使用父类方法 小技巧 :self == 对象 全局共用一...
2018-11-22 13:51:16 89
原创 组合
from math import pi class Circle: 1.创建一个通用的圆面积,周长表达式 def __init__(self,r): self.r = r def area(self): return self.r*self.r*pi d...
2018-11-20 21:49:05 119
原创 面向对象基础
class Person: # 创建一个Person类 passbin = Person() ##bin 是Person的一个对象**class Person: def __init__(self,name,sex,age): ##__init__ 内置方法 self,name....属性 ...
2018-11-19 19:47:09 60
转载 python 内置函数
昨日回顾:生成器函数1.带yield的函数都是生成器函数2.从生成器中取值:for next 数据类型的强制转换a = (i for i in range(13))for i in a: for循环替你执行的next a.__next__() 又执行一个next, 执行一次for循环取了两...
2018-11-07 21:13:22 61
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人