PythonStudy_关于多进程multiprocessing
摘要:一、进程:是指一个具有独立功能的程序的一次执行过程。 1、进程单独分配内存空间,占用资源较多,不是越多越好; 2、一个进程中可以含有多个线程并发执行,但python中规定一个进程只允许一个线程与CPU交互; 3、为提高效率,一个进程最好对应一个CPU,所以多进程适用于计算密集型的程序; 二、进程模块
阅读全文
PythonStudy_关于socketserver
摘要:# socketserver模块:基于socket、select与多线程threading,实现异步并发。 import socketserver class MyServer(socketserver.BaseRequestHandler): def handle(self): conn = self.request conn.sendall('欢迎...
阅读全文
PythonStudy_关于队列 queue
摘要:队列queue是典型的生产者、消费者模式,按从前往后的顺序、先进先出。 一、创建队列 下载安装第三方模块queue,然后导入,并创建队列对象。 import queue q = queue.Queue(maxsize = 0) 可通过maxsize设置队列长度,默认值0表示队列无限长。 二、存放数据
阅读全文
PythonStudy_关于多线程threading
摘要:线程是计算机程序中的最小执行单元。多线程,可以理解为在一个统一的进程内,共享同一块内存空间,主线程调用不同的角色去并发完成任务。 由于python的GTL限制(每个进程同一时间只许有一个线程参与CPU运算),线程大多不需要CPU参与,较适合I\O密集型程序使用。但,多线程在进行上下文交互时较慢。 一
阅读全文
PythonStudy_关于IO多路复用
摘要:IO多路复用,简单理解就是一个客户端可以同时访问多个服务器端口,一个服务器也可以同时接受多个客户端的访问。 多路复用的方式有三种:select、pool、epoll,Windows只支持select方式。 select、pool内部使用的是for循环检测,select最多监听1024个、pool监听
阅读全文
PythonStudy_基于socket的文件上传
摘要:由客户端向服务器端发送文件的时候,为解决粘包问题,需要添加一次交互。 服务器端: 客户端:
阅读全文
PythonStudy_基于socket实现聊天机器人
摘要:python中,通过socket支持三种通信方式:TCP、UDP、unix进程。 TCP: 先连接,在通信。UDP:不需要连接,直接通信。 socket 常用方法:blid()、listen()、accept()、connect()、 recv()、sendall()、close()。 一、基于TC
阅读全文
PythonStudy_计算器代码(面向对象)
摘要:# 使用面向对象的方式,实现计算器的简单功能 # 简单的工厂模式 # 定义一个基类:counter,内含两个特性data1和data2,和一个运算符oper class COUNTER(): # 特性:data1 @property def data1(self): return self.d1 @data1.setter def da...
阅读全文
PythonStudy_打地鼠游戏代码
摘要:# 1、导入模块 import pygame from pygame.locals import * import math import random # 2、游戏初始化 # 2.1设置展示窗口 pygame.init() width , height = 640 , 480 screen = pygame.display.set_mode((width,height)) # 2.2 游...
阅读全文
PythonStudy_关于subprocess
摘要:python引入subprocess模块来管理子进程,主要是执行系统命令。 subprocess不但可以通过命令fork一个子进程,还可以连接到子进程的input、output、error管道,信息互动。 一、执行简单的系统命令,不含参数 (一)subprocess.check_output() 创
阅读全文
PythonStudy_关于用户密码
摘要:一、hashlib 密码加密 哈希算法(百度百科):将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。 哈希值:是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计
阅读全文
PythonStudy_关于os
摘要:python系统自带os模块,与文件和目录操作有关。 一、常用方法 os.name 显示当前使用的系统平台 os.sep 当前平台下的路径分隔符 os.environ 和操作系统有关的一些变量 os.system() 运行一个shell命令 os.getcwd() 显示当前路径 os.listdir
阅读全文
PythonStudy_关于sys
摘要:python系统自带模块sys,包含许多和系统相关的字段和方法。常用的如下: 一、sys.platform 显示当前操作系统 二、sys.argv 显示当前文件路径及文件名 sys.argv[]使用来获取命令行参数的,sys.argv[0]表示当前文件路径和文件名,从sys.argv[1]开始,是获
阅读全文
PythonStudy_关于pickle
摘要:pickle提供了一种持久化功能,可以将对象序列化并保存到文件中,也可以将文件中的数据流反序列化成对象。 pickle.dump() 和 pickle.load() 是两个基本方法,分别实现序列化与反序列化。 pickle.dumps() 和 pickle.loads() 也分别实现序列化与反序列化
阅读全文
PythonStudy_关于单例模式
摘要:好的设计模式,可以使代码具有良好的可扩展性,并易于修改。单例模式是其中一种简单又特别的设计模式。 单例模式:只有一个实例。适用在所有实例中封装的数据都相同时。可使用静态字段+静态方法的方式实现。
阅读全文
PythonStudy_关于异常处理
摘要:python提供了非常重要的异常处理功能,来处理程序运行中出现的错误或异常。 使用异常处理的代码结构如下: 注意,异常和错误有许多分类,Exception是所有错误类的基类,其他都是派生类。 除了解释器触发异常和错误外,代码也可以主动触发异常。 一切事物皆对象,类也是一个对象。对象类内含有特殊成员_
阅读全文
PythonStudy_关于面向对象编程(二)
摘要:一、应用反射操作模块中的类 流程:导入模块——》调用模块中的类——》创建类对象——》调用类对象的成员——》操作成员 # 使用反射,操作模块中的类 # # 1、导入模块 module = __import__('file.py',fromlist=True) # fromlist=True,文件有迭代
阅读全文
PythonStudy_关于‘接口’
摘要:通常所说的接口,有两种:代码级别的接口和业务级别的接口。 一、代码级别的接口(python中不存在,C#、Java等语言中使用) 接口:使用关键字interface定义的一个类:类名需要使用大写字母‘I’开头,类的方法不能实现任何具体的功能,只定义方法数量。 接口与多态有关,起到一种约束作用:构造一
阅读全文
PythonStudy_关于面向对象编程(一)
摘要:面向对象编程,主要通过定义类、并使用类方法,实现特定的程序功能。C#、Java是面向对象编程。 但面向对象编程不是哪里都适用,功能简单的编程更适合函数式编程。 Ruby、Python是面向对象编程+函数式编程。 一、面向对象编程的执行流程: (一)创建类,并构造类字段和方法 (二)创建类对象,也叫创
阅读全文
PythonStudy_关于configparser
摘要:ini配置文件,常备用作存储程序中的一些常用参数,文件可读,通过它程序可以变得更加灵活。 python中自带配置文件ini相关模块configparser。
阅读全文