- 博客(56)
- 收藏
- 关注
原创 python-线程-信号量原理
1.信号量就是控制同一时刻并发执行的任务数 信号量:互斥锁+容器 容器里同时最大可以存放五把钥匙,谁先拿到钥匙并释放后释放后,外面的才能继续抢钥匙 十个线程,五把钥匙,一开启肯定有五个线程能拿到钥匙,只有这五把钥匙谁先解锁了,之后的五个线程才能有抢钥匙的机会。from threading import Thread,Semaphore,curre...
2018-07-15 11:09:25
406
原创 python-线程互斥锁与递归锁
1.线程跟进程里的互斥锁一样: 将多个并发任务的部分代码(只涉及修改共享数据的代码,编程串行线程或进程操作) 加锁可以保证多个进程修改同一数据,同一时间只能只要一个任务可以进行修改,这样可以保证数据的安全性,单牺牲了速度 from threading import thread,lockimport timemutex=lock()x=100def...
2018-07-15 10:47:32
490
原创 python-线程是守护线程以及守护线程与守护进程的区别
1.线程与进程运行完毕的区别: 1.主进程运行完毕指的是主进程代码运行完毕 2.主线程运行完毕指的是所在的进程内的所有非守护线程运行完毕后,主线程才算运行完毕 强调:运行完毕,并非是终止 2.守护进程:主进程代码运行完毕,守护进程也就结束 (守护的是主进程) 主进程要等非守护进程都...
2018-07-15 10:22:46
2625
原创 python之-线程原理-开启线程两种方式,以及子进程与子线程pid的区别
1.什么是线程 进程其实不是个执行单位,进程是一个资源单位,每个进程内自带一个线程,线程才是cpu上的执行单位 如果把操作系统比喻成为一座工程 在工厂内每造出一个车间---》启动一个进程 每个车间内至少有一条流水线---》每个进程内至少有一个线程 简单理解比喻: 线程:单指代码执行的过程(代码的执行) 进程:资源的申请与销毁的过程(申请内存...
2018-07-15 09:56:45
1003
原创 python进程-守护进程原理-,互斥锁与join区别-队列-生产者消费者模式
1.守护进程 守护进程其实就是一个‘子进程’ 守护=》伴随 1.守护进程会伴随主进程的代码运行完毕后而死掉 2.守护进程内无法再开启子进程,否则抛出异常2.为何用守护进程: 关键字就两个: 进程: 当父进程需要将一个任务并发出去执行,需要将该任务放在一个子进程里...
2018-07-15 09:37:36
956
原创 python——进程原理
1.什么是进程 进程就是正在运行的程序,或者说是程序运行的过程,是个抽象的概率。而负责执行任务则是cpu,2.进程与程序的区别程序就是一堆代码,进程是程序运行的过程 3.进程的创建新进程的创建都是由一个已经存在的进程执行了一个用于创建进程的系统调用而创建的: 1. 在UNIX中该系统调用是:fork,fork会创建一个与父进程一模一样的副本,二者有相同的存...
2018-07-15 09:37:24
277
原创 python-开启进程的两种方法;进程对象的方法或属性详解
# 方式一:通用版# from multiprocessing import Process# import time# def task(x):# print('%s is running '%x)# time.sleep(3)# print('%s is done'%x)## if __name__ == '__main__':# #p=P...
2018-07-15 09:35:46
758
原创 python-僵尸进程和孤儿进程
孤儿进程:#父进程在子进程还在运行前退出,最后会被init进程接管,init以父进程的身份处理子进程运行完毕后遗留状态信息僵尸进程:#一直创建子进程,不回收子进程运行完毕后的状态信息,从而导致大量的僵尸进程,不能产生新的进程孤儿进程:一个父进程退出,而父进程还要多个子进程还在运行,那么这么子进程将成为孤儿进程。孤儿进程被init进程(进程号为1)所收养,并由init进程对它们完成状...
2018-07-15 09:35:37
614
原创 python并发编程-进程,并发
1.进程是一个正在运行的程序,或者说是程序运行的过程,进程是个抽象概念 进程起源于操作系统,是操作系统最核心的概念,操作系统所有其他的概念都是围绕进程展开 研究进程最底层就是在研究操作系统底层代码2.串行 -进程 一个任务完完整整的运行完毕后,在运行下一个任务3.并发-进程 看起来多个任务是同时运行即可,单核也可以实现并发4.-并行-进程 ...
2018-07-15 09:35:21
236
原创 基于socketserver实现并发tcp、udp
1.基于socketserver实现并发-tcp#服务端import socketserverclass MyHandler(socketserver.BaseRequestHandler): def handle(self): #print(self.client_address) #客户端地址 #print(self.request) ...
2018-07-10 16:45:10
363
原创 socket网络编程-粘包
1.什么是粘包只要tcp有粘包现象,udp不会粘包粘包主要问题是接收方不知道消息之间的界限,不知道一次性提取多少字节的数据而造成的tcp和dup的区别1.tcp是基于数据流的,收发的消息不能为空,这酒需要在客户端和服务端都添加空消息的处理机制,防止程序卡主2.udp是基于数据报,输入发送空内容(直接回车),那也不是空消息,udp协议会帮你封装一个消息头(消息来源地址,端口等信息...
2018-07-09 21:57:36
280
原创 scoket(网络编程)
1.c/s架构的软件是基于网络进行通信的2.网络的核心即一堆协议,协议即标准,你想开发一款基于网络的通信的软件,就必须遵循这些标准3.什么是socketsocket是应用层与tcp/ip协议通信的中间软件,它就是一组接口。它把复杂的TCP/IP协议族隐藏在socket接口后面,对于用户来说,一组简单的接口就是全部我们只需要遵循socket的规定去编程,写出的程序子让就是遵循TC...
2018-07-09 18:15:44
434
原创 python之网络编程之OSI七层模型与tcp/udp三次握手四次挥手
1.客户端/服务端架构 1.硬件c/s架构 2.软件c/s架构 (b/s) 互联网中处处是c/s架构 客户端client《-----基于网络通信------》 server服务器 浏览器客户端 browser《---基于网络通信-----》server 浏览器是客户端(B/...
2018-07-06 15:08:55
453
原创 python之元类高级应用,自定义元类隐藏属性,三种单例模式
1.自定义元类隐藏对象属性class Mmeta(type): def __init__(self,class_name,class_bases,class_dic): super(Mymeta,self).__init__(self,class_name,class_bases,class_dic) def __call__(self,*args...
2018-07-02 22:03:08
300
原创 python之面向对象编程-自定义内置方法定制类的功能,元类
1.内置方法: __str__ 打印自动触发 __del__ 删除对象之前自动触发2.用于实例化产生类的类称之为元类 __call__ 调用对象时自动触发 __new__ 新建一个空对象 __init__ 调用类自动触发,初始化独有属性 1.__st...
2018-07-02 15:20:51
389
原创 python之面向对象高级进阶-反射与内置模块
内置函数模块isinstance和issubaclassclass Foo: passobj=Foo()print(isinstance(obj,Foo)) #isinstance(obj,Foo)判断是否obj是否是类 Foo 的对象isinstance(obj,Foo)判断是否obj是否是类 Foo 的对象class Parent: passc...
2018-06-30 12:23:08
255
原创 python面向对象编程之封装-绑定方法与非绑定方法
1.绑定方法 特性:绑定给谁就应该由谁来调用,谁来调用就会将谁当做第一个参数自动传入 (精髓在于自动传入) 绑定方法分为两类: 1.绑定给对象方法 在类内部定义的函数(没有被任何封装器修饰的),默认就是绑定给对象用的 2.绑定给函数的方法: 在类内部定义的函数如果被装饰器@clas...
2018-06-29 14:56:00
220
原创 python之面向对象编制之封装
1.什么是封装 封:属性对外是隐藏的,单对内是开放的 装:申请一个名称空间,往里装入一系列名字/属性2.为什么要封装 封装数据属性的目的 首先定义属性的目的就是为了给类外部的使用而使用 隐藏之后是为了不让外部直接使用,需要内部开辟一个接口 然后让类外部的使用通过接口间接的操作隐藏的属性 ...
2018-06-28 17:02:52
214
原创 python之面向对象编程之多态与多态性
1.什么是多态 多态指的是同一种事物的多种形态 水-》冰、水蒸气、液态水 动物-》人、狗、猪2.为啥要用多态 多态性: 继承同一个类的多个子类中有相同的方法名 那么子类产生的对象就可以不用考虑具体的类型而直接调用功能 多态性的优点: 1.增加了程序的灵活性 以不变应万变,不论对象千变万化,使用者都是同一种...
2018-06-28 17:02:30
466
原创 python之继承中组合用法与菱形继承关系查找法
1.什么是组合 组合就是一个类的对象具备某一属性,该属性的值是指向另外外一个类的对象2.为什么用组合 组合也是用来解决类与类之间代码冗余问题3.用法 class Course: #组合 def __init__(self, name, period, price): self.name = n...
2018-06-28 17:02:14
956
原创 python面向对象编程-继承与派生
一.什么是继承 继承是一种新建类的方式,新建的类称为子类,被继承的类称为父类 继承的特性是:子类会遗传父类的属性 强调:继承是类与类之间的关系二.为什么用继承 因为继承的好处就是可以减少代码的冗余三.如何继承 在python中支持一个类同时继承多个父类 在python3中 如果一个类没有继承任何类,那默认...
2018-06-28 17:02:02
204
原创 python之对象产生,属性(定义的值)的查找原则,对象绑定关系
例1: 通过外部定义一个函数也可以传值进去class OldboyStudent: school='oldboy' def choose_course(self): print('is choosing course')stu1=OldboyStudent()stu2=OldboyStudent...
2018-06-27 14:16:02
366
原创 python之面向对象编程介绍、创建
1.面向过程编程 核心是过程二字,过程值的是解决问题的步骤,即先干什么,再干什么然后在干什么 基于该思想编写程序好比在设计一条流水线,是一种机械式的思维方式 优点:复杂的问题流程化,进而简单化 (一个复杂的问题,分成一个个小的步骤去实现,实现小的步骤将会非常简单) 缺点:扩展性差 (即修改一个地方,要修改很多地方) 面向...
2018-06-26 14:44:52
181
原创 python之configparser模块
configparser模块解析配置文件,解析内容格式: [section1]k1 = v1k2:v2user=egonage=18is_admin=truesalary=31[section2]k1 = v1config=configparser.ConfigParser() #拿到一个对象config.read('config.ini') ...
2018-06-26 14:28:03
179
原创 python之shelve模块、xml模块
shevle模块比pickle模块简单,只要一个open模式,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型如下例题:import shelve# dic1={'pwd':'alex3714','age':18,'sex':'male'}# dic2={'pwd':'alex3715','age':73,'sex':'male'}d=she...
2018-06-26 14:27:46
285
原创 python之shutil模块使用方法
1.shutil模块 高级的 文件、文件夹、压缩包 处理模块使用方法: * shutil.copyflileobj(open('user.txt','r'),open('pwd','w')) #文件内容拷贝到另一个文件里 * shutil.copyfile('fi.log','f2,lig') ...
2018-06-26 14:27:38
524
原创 python之hash模块加密
1.什么是hash hash是一种算法,该算法接受传入的内容,经过运算得到一串hash值 1.如果把hash算法比喻为一座工厂 2.那传给hash算法的内容就是原材料 3.生成的hash值就是生产出的产品2.为何要用hash算法 hash值/产品有三大特性: 1.只要传入的内容一样,得到的hash值必然一样 2.只要我们使用...
2018-06-26 14:27:24
1001
原创 pyhton之re模块-正则表达式
1.什么是正则 正则就 是一系列具有特殊含义的字符组成一套规则,该规则用来描述具有某一特征的字符串 正则就是用来去一个大的字符串中匹配出符合规则的子字符串2.为什么要用正则 1.用户注册 2.爬虫程序print(re.findall('\w','helllo 123 _*/_-=')) #匹配数字字符下划线print(re.findall(...
2018-06-24 11:20:59
621
原创 python之sys模块和subprocess模块
# sys.path # 可以把文件路径加入到环境变量 返回模块的搜索路径 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值# sys.argv ...
2018-06-24 11:20:36
282
原创 python模块os模块是使用
os.environ 获取系统环境变量 只能定义为str字符串模式当程序所有的文件都需要引用一个变量时,则需要将该变量加入环境变量中# os.environ['x']=json.dumps(['a','b','c']) #只能定义为str字符串模式# print(json.loads(os.environ['x'...
2018-06-24 11:20:23
167
原创 python之时间模块time和datetime
时间模块使用实际分为三种格式1.时间戳时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型 print(time.time()) # 时间戳:1487130156.419527 ...
2018-06-20 16:45:57
308
原创 python之序列化与反序列化用法介绍json、pickle
1.什么是序列化和反序列化 序列化就是将内存中的数据结构转换成一种中间格式存储到硬盘或者基于网络传输 反序列化就是硬盘中或者网络传来的一种数据格式转换成内存中数据结构2.为啥有呢? 1.可以保存程序的运行状态(比如游戏升级,打到一半关闭程序,那么,你游戏人物的等级和状态不会清空,而是保留,等待你下次在再玩) 2.数据的跨平台交互(Java python跨...
2018-06-20 16:45:41
219
原创 python随机模块random
import random print(random.random()) # float 大于o且小于1之间的小数 print(random.uninform(1,3)) #1到3随机小数 print(random.reandint(1,3)) ...
2018-06-20 16:44:58
259
原创 python之包的使用,logging模块的使用
1.什么是包 包是模块的一种形式,包的本质就是一个含有——init——.py文件的文件夹 导入包,读取的包文件夹里面的__init__.py文件2.为啥要有包? 包是多种模块的集合 ,方便模块功能的管理、扩展与使用 3.导入包的三步骤 1.创建一个包的名称空间 2.执行py文件,将执行过程中产生的名字存放于名称空间中...
2018-06-20 14:59:33
735
原创 python模块使用,improt导入模块介绍,面向过程编程
1.面向过程编程 主要是核心过程二字,过程指的是解决问题的步骤,即先干什么,在干什么,然后在干什么 基于该思想编写程序就好比在设计一条流水线,是一种机械式的思维方式优点: 复杂的问题流程化,进而简单化缺点: 扩展性极差(修改一个值,有可能需要改动很多东西)编写程序主要划分三层步骤流程: 1.用户功能层 ...
2018-06-19 14:47:45
578
原创 python之前期常用的内置函数
1.常用的内置函数# 掌握# res='你好'.encode('utf-8') 编码 encode 编码# print(res)## res=bytes('你好',encoding='utf-8') 跟上面一样# print(res)# 参考ASCII表将数字转成对应的字符 ...
2018-06-15 17:50:48
234
原创 python之匿名函数,函数递归
1.匿名函数 匿名函数:不用绑定名字,内存地址用一次就回收 定义: res=(lambda x,y:x+y)(1,2) f=lambda x,y:x+y print(f) print(f(1,2)) #ma...
2018-06-14 19:54:50
292
原创 python之三元表达式、列表生成式、字典表达式、生成器表达式
1.三元表达式 格式为:条件成立时的返回值 if 条件 else 条件不成立时的返回值 总结:多行判断,一行代码解决。就是一条if判断的简写代码语法2.列表生成式 方括号【】 快速生成一个列表,也是一条简写代码语法 格式: l=[item**2 for item in ran...
2018-06-14 14:07:14
341
原创 python之生成器
先来介绍下迭代器: 迭代器即迭代取值的工具 迭代 的意思就是重复的基于上一次的结果取值 *迭代器可以不依赖索引取值 取值=取一个值就会少一个,取完了,还取值就会报错1.什么是生成器 在函数内但凡出现yield关键字,在调用函数就不会执行函数内代码,...
2018-06-13 19:18:43
253
原创 python之闭包函数和装饰器
1.闭包函数作用域的关系: 作用域关系在函数定义阶段时就固定死了,与调用位置无关 即:在任意位置调用函数都需要跑到定义函数时寻找作用域关系 闭包函数:闭指的是:该函数是一个内部函数包指的是:指的是该函数包含对外部作用域(非全局作用域)名字的引用==(即形参变量名的赋值引用) 给函数传值有两种方式:方式一...
2018-06-13 14:06:21
202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人