python
Pinkmanabcd
这个作者很懒,什么都没留下…
展开
-
python在linux下的执行及基础语法
1,python的运行#方法1$python3 hello.py#方法2在hello.py的第一行写入:#! /usr/bin/python3在终端中加入执行权限后执行chmod u+x hello.py./hello.py2,python的交互模式在解释器中退出:ctrl + dquit()exit()3,python程序的组成程序由模块组成模块由语句,函...原创 2019-04-27 23:58:21 · 528 阅读 · 0 评论 -
Python模块作用域
在一个模块中,我们可能会定义很多函数和变量,但有的函数和变量我们希望给别人使用,有的函数和变量我们希望仅仅在模块内部使用。在Python中,是通过_前缀来实现的。正常的函数和变量名是公开的(public),可以被直接引用,比如:abc,x123,PI等;类似__xxx__这样的变量是特殊变量,可以被直接引用,但是有特殊用途,比如上面的__author__,__name__就是特殊变量,hell...转载 2019-06-21 08:18:30 · 297 阅读 · 0 评论 -
multuprocessing模块创建进程
multuprocessing模块创建进程步骤1.需要将要执行的事情封装为函数2.使用multiprocessing模块中Process类创建进程对象3.通过对象属性设置和Process的初始化函数对进程进行设置,绑定要执行的函数4.启动进程,会自动执行进程绑定的函数5.完成进程的回收模块内容介绍1.Process() 功能: 创建进程对象 参数: name 进程名...原创 2019-07-12 19:12:23 · 247 阅读 · 0 评论 -
自定义进程类
Process进程的对象属性p.start()p.join()p.is_alive() 判断进程生命周期状态,处于生命周期得到Truep.name 进程名称,默认为Process-1/2.....p.pid 进程的pid号p.daemon 默认状态False 主进程退出不会影响子进程执行如果设置为True 则子进程会随着主进程结束而结束* 要在start前设置* 一...原创 2019-07-15 12:29:37 · 335 阅读 · 0 评论 -
进程池技术实现
多进程优点: 可以使用计算机多核,进行任务的并发执行,提高执行效率 空间独立,数据安全 运行不受其他进程影响,创建方便 缺点: 进程的创建和删除消耗的系统资源较多进程池技术1、产生原因:如果有大量任务需要多进程完成,则可能需要频繁的创建和删除进程,给计算机带来较多的资源消耗。原理: 创建适当的进程放入进程池,用来处理待处理事件,处理完毕后进程不销毁,仍然在进程...原创 2019-07-15 13:00:41 · 701 阅读 · 0 评论 -
进程间的消息传输:管道、消息队列、共享内存
进程间通信(IPC) 原因:进程空间相对独立,资源无法相互获取,此时在不同进程间通信需要专门方法。 进程间通信方法:管道 消息队列 共享内存 信号 信号量套接字管道通信 Pipe通信原理:在内存中开辟管道空间,生成管道操作对象,多个进程使用“同一个”管道对象进行操作即可实现通信multiprocessing--》 Pipefd1,fd2 = Pipe(duplex =...原创 2019-07-15 17:58:21 · 228 阅读 · 0 评论 -
python的信号量机制
信号通信一个进程向另一个进程发送一个信号来传递某种信息,接收者根据接收到的信号进行相应的行为终端命令:kill -l 查看系统信号kill -sig PID 向一个进程发送信号信号介绍:信号名称 信号含义 默认处理方法SIGHUP 连接断开SIGINT CTRL-CSIGQUIT CTRL-\SIGTSTP CTRL-ZSIGKILL 终止一个进程...原创 2019-07-15 19:11:09 · 3791 阅读 · 1 评论 -
python的多任务编程实现
多进程编程import ospid = os.fork()功能:创建新的进程参数:无返回值:失败返回一个负数 成功:在原有进程中返回新的进程的PID号 在新的进程中返回0fork函数演示于进程的特征一般情况下父进程在子进程之前运行#此程序演示多进程编程中fork函数以及进程的特征import osfrom time import slee...原创 2019-07-12 00:13:51 · 182 阅读 · 0 评论 -
python3中Thread.setDeamon的使用
setDaemon语法: obj.setDaemon(True)个人理解: * 需要在start之前使用 * 主线程被创建时默认为False,所以子线程要设置时需要手动设置 * Daemon意思为守护线程,用来回收线程,当主线程运行结束时,会被子线程杀死官方文档:setDaemon() Old API for daemon. A boolea...原创 2019-07-18 17:21:21 · 1627 阅读 · 0 评论 -
python中协程的使用
协程基础定义: 协程,微线程。协程的本质是一个单线程程序,所以协程不能使用计算机多核资源。作用: 能够高效的完成并发任务,占用较少的资源。 因此协程的并发量较高原理: 通过记录应用层的上下文栈区,实现在运行中进行上下文跳转,达到可以选择性地运行想要运行的部分,以此提高程序的运行效率。优点: 消耗资源少 无需切换开销 无需同步互斥 IO并发性好缺点: 无法利用计...原创 2019-07-18 18:21:16 · 185 阅读 · 0 评论 -
多任务编程之线程
线程线程也是一种多任务编程方法,也是可以利用计算机多核资源完成程序的并发执行。线程又被称为轻量级的进程。线程特征 * 线程是计算机多核分配的最小单位 * 一个进程可以包含多个线程 * 线程也是一个运行的过程,消耗计算机资源,多个线程共享进程的资源和空间 * 线程的创建删除消耗的资源都要远远小于进程 * 多个线程之间执行互不干扰 * 线程也有自己的特有属性,比如指令集 ID...原创 2019-07-16 18:57:21 · 144 阅读 · 0 评论 -
多人网络聊天室实现
项目需求:功能:类似qq群聊、linux环境下1.进入聊天室需要输入姓名,姓名不能重复2.有人进入聊天室会向其他人发送通知:xxx进入了聊天室3.一个人发消息,其他人会收到消息 xxx 说: xxxxxx4.某人退出聊天室,其他人也会收到通知 xxx退出了聊天室5.管理员喊话 服务端发送消息给所有的客户端都收到 管理员说:xxxxxx项目分析:项目问题:* 服务端...原创 2019-07-12 16:38:43 · 1136 阅读 · 0 评论 -
python多线程的GIL锁
python线程的GIL问题(全局解释器锁)来源:python-->支持多线程-->同步互斥-->加锁-->超级锁,给解释器加锁-->解释器同一时刻只能解释一个线程后果:一个解释器同一时刻只能解释执行一个线程,所以导致python线程效率低下。但是当遇到IO阻塞时线程会主动让出解释器,因此python线程更加适合高延迟的IO程序并发。解决方法: * ...原创 2019-07-17 00:31:52 · 227 阅读 · 0 评论 -
python_slice构造函数
slice函数作用:用于创建一个Slice切片对象此对象存储一个节点的起始值,终止值和步长信息slice(start,stop=None,step=None) 创建一个切片对象slice的对象的属性s.start 切片起始值,默认为Nones.stop 切片终止值,默认为Nones.step 切片步长,默认为None说明:平常使用的[::]实际上是系统自动转换为...原创 2019-05-18 21:14:24 · 348 阅读 · 0 评论 -
python_运算符重载
什么是运算符重载让自定义的类生成的对象(实例)能够使用运算符进行操作作用:让自定义的类的实例像内建对象一样运行运算符操作让程序简洁易读对自定义的对象,将运算符赋予新的运算规则算数运算符的重载__add__(self,rhs) self + rhs 加法__sub__(self,rhs) self - rhs 减法__mul__(self,rhs) self * rh...原创 2019-05-18 14:15:14 · 348 阅读 · 0 评论 -
python_变量特性、作用域、函数
1,全局变量与局部变量局部变量:定义在函数内部的变量称为局部变量(函数的形参也是局部变量)局部变量只能在函数内部使用局部变量在函数调用时才能够被创建,在函数调用之后会自动销毁全局变量:定义在函数外部,模块内部的变量称为全局变量全局变量,所有的函数都可以直接访问(但函数内部不能将其直接赋值,会报错),函数定义的函数名也相当于一个全局变量a = 100b = 200def f1(c...原创 2019-05-04 17:34:12 · 325 阅读 · 0 评论 -
python_字符串操作
1,str(obj)将对象转换为字符串2,常用字符串方法格式:对象.方法名(方法传参)例如:‘abc’.isalpha()详细:S.islower() 是否全是小写字母S.isupper() 大写字母S.isspace() 空白字符(\t \n ’ ‘)S.isdigit() 数字S.isnumeric() 数字S.center(wid...原创 2019-04-30 15:40:28 · 328 阅读 · 0 评论 -
python四大内置数据结构以及深拷贝、浅拷贝
1,列表 list(1)列表是由一系列特定元素组成的,元素和元素之间没有任何关联关系,但他们之间有先后顺序关系列表是一种容器(用来存储数据)列表是序列的一种列表是可以被改变的序列(2)创建空列表的字面值L = [ ] #L绑定空列表创建非空列表:L = [1 , 2 , 3 , 4]L = [‘北京’,‘上海’, ‘重庆’]L = [1,‘two’,3,‘四’]L = [1,...原创 2019-05-01 15:29:08 · 365 阅读 · 0 评论 -
python_面向对象
对象对象是指现实中的物体或实体面向对象把一切堪称对象(实例),让对象和对象之间简历关联关系对象都有什么特征:属性(名词):姓名,年龄,性别,颜色… … …–>变量行为(动作):学习,吃饭,睡觉,踢球… … …–>方法什么是类:用于相同属性和行为的对象分为一组,即为一个类类是用来描述对象的工具,用类可以创建同类对象类的创建语句:语法: class 类名(继承列...原创 2019-05-14 00:17:50 · 242 阅读 · 0 评论 -
python_模块_包
模块Module模块是一个包含有一系列数据,函数,类等组成的程序组模块是一个文件,模块文件名通常以.py结尾作用:让一些相关的数据,函数,类等有逻辑的组织在一起,使逻辑结构更加清晰模块中的数据,函数和类等可提供给其他模块或程序使用模块的分类:(1)内置模块(builtins),在解析器的内部可以直接使用(2)标准库模块,安装python时已安装且可直接使用(3)第三方模块(通常...原创 2019-05-08 00:19:31 · 200 阅读 · 0 评论 -
python_异常处理机制
异常exception错误:错误是指由于逻辑或语法等导致一个程序无法正常执行的问题特点:有些错误时无法预知的异常:异常时程序出错时标识的一种状态当异常发生时,程序不会再向下执行,而转去调用此函数的地方待 处理此错误并恢复为正常状态异常的作用:(1)通知上层调用者有错误产生需要处理(2)用作信号try语句的两种语法:try-except语句try-finally语句t...原创 2019-05-11 00:11:48 · 250 阅读 · 0 评论 -
python_迭代器与生成器
一、迭代器什么是迭代器迭代器是指用iter(可迭代对象)函数返回的对象(实例)迭代器可以用next(it)函数获取可迭代对象的数据迭代器函数:iter(iterable)从可迭代对象中返回一个迭代器,iterable必须是一个能提供迭代器的可迭代对象next(iterator)从迭代器iterator中获取下一条记录,如果无法获取下一条记录,则触发StopIteration异常说明...原创 2019-05-11 18:58:34 · 161 阅读 · 0 评论 -
python_字节串和字节数组
字节串bytes作用:存储以字节为单位的数据说明:字节串是不可变的字节序列 字节是0-255之间的整数创建空字节串的字面值b''b""b''''''b""""""B''B""B''''''B""""""创建非空字节串的字面值:b'ABCD'b'\x41\x41'字节串的构造函数bytes#只能用来表示1个字节内的ascii码,故整数不能超过255by...原创 2019-05-11 20:50:31 · 440 阅读 · 0 评论 -
python_文件操作
什么是文件文件是数据存储的单位文件通常用来长期存储数据文件中的数据是以字节为单位进行顺序存储的文件的操作流程1.打开文件2.读写文件3.关闭文件任何的操作系统,一个应用程序同时打开文件的数量有最大数限制文件的打开函数 openopen(file,mode='rt')用于打开一个文件,返回此文件对应的文件流对象,如果打开失败,则会OSError错误文件的关闭方法:...原创 2019-05-11 23:35:50 · 213 阅读 · 0 评论 -
python_异常(高级)
异常(高级)回顾异常相关的语句:try - except 用来捕获异常通知try - finally 用来做一定要做的事情raise 用来发出异常通知assert 用来根据条件来发出AssertionErorr类型的异常通知with语句语法: with 表达式1 [as 变量1], 表达式2 [as 变量2]: 语句块作用:使用于对资源进行访问的场合,确保...原创 2019-05-18 12:16:20 · 130 阅读 · 0 评论 -
python_对象的属性管理函数
对象的属性管理函数:(1)getattr(obj,name[,default]) #查看对象的name属性,有则返回 #属性,无则返回default说明:等同于obj.name示例:#此示例演示对象的getattr函数class Dog: passdog = Dog()print(getattr(dog,'color',None))print(getat...原创 2019-05-18 13:22:41 · 193 阅读 · 0 评论 -
Python高级函数用法
itertools.chain用法 : for i in itertools.chain(iterable1,iteralbe2,.....)将可迭代对象组合遍历原创 2019-07-31 17:23:02 · 230 阅读 · 0 评论