python基础
python基础
73、
人生没有白走的路,每一步都算数。
展开
-
python基础10-RabbitMQ(消息队列)
目录1、RabbitMQ(消息队列)2、Redis3、Mysql1、RabbitMQ(消息队列)线程queue:只能是同一个进程下的线程进行消息交互进程queue:只能是父进程和子进程或者是同一进程下的子进程进行信息交互RabiitMQ是中间代理,它可以实现不同语言之间、不同独立进程之间、不同机器之间的消息交互工作原理:实现qq和word之间的通信,如上图,可以有三种方式,第一种方式效率低下,第二种方式重新开发一条通道,成本太高,第三种方式,中间代理的方法,比如RabbitMQ、Zero原创 2020-05-09 16:02:41 · 447 阅读 · 0 评论 -
python基础9_2-协程、Greenlet协程、Gevent协程、事件驱动与IO、IO模式、I/O 多路复用之select、poll、epoll
目录1、协程2、Greenlet协程3、Gevent协程1、协程协程,又称微线程,是一种用户态的轻量级线程。协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此:协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进入上一次调用的状态,换种说法:进入上一次离开时所处逻辑流的位...原创 2020-05-08 18:26:27 · 334 阅读 · 0 评论 -
python基础9_1-进程、线程、守护线程、全局解释器锁、生产者消费者模型
目录1、Python GIL(Global Interpreter Lock)2、进程(process)多进程multiprocessing进程间通讯-Queues/Pipes/Managers进程锁进程池3、线程(thread)语法join函数daemon(守护线程)线程锁之Lock(互斥锁mutex)/RLock(递归锁)/Semaphore(信号量)EventQueue生产者消费者模型4、进...原创 2020-05-07 09:06:44 · 505 阅读 · 0 评论 -
python基础8_4-socketserver实现多并发
1、socketserversocket只能够实现一对一的交互,socketserver能够实现多对多的交互,下面是使用socketserver的流程:创建一个请求处理类,这个类继承BaseRequestHandler,并且重写父类的handle()方法实例化一个server class(在这里我们使用TCPServer),并且传递server ip和上面创建的请求处理类给实例调用ser...原创 2019-11-03 16:09:07 · 219 阅读 · 0 评论 -
python基础8_3-socket(三)实现ftp客户端和服务器收发文件及md5加密文件
客户端向服务器发送一个请求,请求内容是一个文件名,服务器在查找自己这边有没有这个文件,如果有的话就发送给客户端1、客户端生成socket对象建立连接输入想要接收的文件将输入的文件名发送给服务器接收服务器发回的关于即将要发送来的文件的大小发送一条信息给服务器告诉它准备好接收了接收文件数据打印全部接收的提示信息client具体实现的代码如下:# Author: Mr.Xue...原创 2019-11-03 13:44:02 · 429 阅读 · 0 评论 -
python基础8_2-socket(二)实现简单的ssh客户端和服务器
该篇用socket来模拟终端命令的实现。通过客户端来发送指令,服务器接收到指令后,执行指令,将执行后的结果发送给客户端,客户端接收到指令之后,打印在屏幕上。1、客户端生成socket连接对象建立连接输入要发送的"指令"信息判断发送内容是否为空。是,重新输入;否,发送信息到服务器接收服务器发回来的信息,打印由于客户端一次性接收信息的大小有限,所以如果发回来的信息过大,客户端只能够接...原创 2019-11-03 10:27:33 · 332 阅读 · 0 评论 -
python基础8_1-socket(一)通信案例消息发送和接收
实现客户端和服务器之间进行消息通信,服务器启动监听端口等待客户端连接,客户端上线,连接到1、sokect客户端# Author: Mr.Xue# 2019.10.29# socket_client.pyimport socketclient = socket.socket() # 声明socket类型,同时生成socket连接对象client.connect(('localhos...原创 2019-11-02 14:37:30 · 854 阅读 · 0 评论 -
python基础8-socket
目录1、socket介绍2、socket参数介绍1、socket介绍socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。socket客户端(发送端)和服务器(接收端)的通信过程如下:# socket server # socket client'''伪代码 impo...原创 2020-04-30 14:49:31 · 306 阅读 · 0 评论 -
python基础7_4-异常处理
1、异常捕获# Author: Mr.Xue# 2019.10.31#伪代码try: codeexcept Error1 as e: print(e)# except (Error2, Error3), e: # 2.x的写法 except (Error2, Error3) as e: # 3.x的写法 print(e)except Exception: # 抓住所有错误,...原创 2019-10-31 16:58:52 · 128 阅读 · 0 评论 -
python基础7_3-反射
1、反射hasattr(obj, name_str)判断对象obj里是否有对应的字符串name_str的方法# Author: Mr.XUe# 2019.10.30class Dog(object): def __init__(self, name): self.name = name def eat(self): print("%s is eating..." %...原创 2019-10-31 16:21:09 · 185 阅读 · 0 评论 -
python基础7_2-类的特殊成员方法、动态导入模块、断言(assert)
1、类的特殊成员方法_ doc _: 打印描述信息_ modle _: 表示当前操作对象在哪个模块_ class _: 表示当前操作的对象的类是什么_ call _: 构造方法的执行是由创建对象触发的,即对象 = 类名();而对于__call___方法的执行是由对象后面加(),即对象()或类()()_ dict _: 查看类中或对象中所有的成员。通过类打印类里面的所有属性,不包括实例属...原创 2019-10-31 18:45:54 · 309 阅读 · 0 评论 -
python基础7_1-静态方法、类方法、属性方法
1、静态方法实际上和类没什么关系,唯一的关联就是需要通过类来调用。在名以上面归类管理,实际上在静态方法里面访问不了类或实例中的任何属性# Author: Mr.Xue# 2019.10.29class Dog(object): """this is a class: Dog""" def __init__(self, name): self.name = name @st...原创 2019-10-31 15:29:37 · 203 阅读 · 0 评论 -
python基础6_4-多态
多态是为了实现“接口重用”,一个接口,多个实现。示例:class Animal(object): def __init__(self, name): self.name = name def talk(self): pass @staticmethod def func(obj): #一个接口,多种形态 obj....原创 2020-04-29 09:14:34 · 140 阅读 · 0 评论 -
python基础6_3-python2.x和python3.x下经典类和新式类的区别
经典类# Author: Mr.Xue# 2019.10.29class A: def __init__(self): print('__init__ A')新式类# Author: Mr.Xue# 2019.10.29class A(object): def __init__(self): print('__init__ A')如上所示,可以看到,经典类和新式...原创 2019-10-30 19:46:43 · 160 阅读 · 0 评论 -
python基础6_2-类的继承
# Author: Mr.Xue# 2019.10.29# class People: # 经典类class People(object): # 新式类 def __init__(self, name, age): self.name = name self.age = age self.friends = [] def eat(self): print("%...原创 2019-12-30 15:23:17 · 170 阅读 · 0 评论 -
python基础6_1-编程范式、面向过程编程、面向对象编程、面向对象三大特性、类变量和实例变量、析构函数
1、编程范式在程序开发的过程中,每一个程序员都会有自己的编程风格,根据这些不同的编程风格,进行归纳总结,得到了几种典型的编程风格,这就是编程范式,分为面向对象编程、面向过程编程、函数式编程2、面向过程编程面向过程是一种以“过程”为中心的编程思想,以什么正在发生为主要目标进行编程。将一个大问题,分解成若干个小问题,再针对小问题,进行分解,直到小问题足够小,能够解决为止。然后用函数一步一步实现,...原创 2019-10-30 18:45:36 · 326 阅读 · 0 评论 -
python基础5-模块定义、导入方法、import本质、time和datetime、random、os、sys、shutil、shelve、xml、ConfigParser、hashlib、re
定义模块的定义:用来从逻辑上组织python代码(变量、函数、类、逻辑:实现一个功能),本质上就是.py结尾的python文件(文件名:test.py,对应的模块名:test)包的定义:用来从逻辑上组织模块,本质就是一个目录(文件夹),必须带有一个_ _ init _ _().py的文件使用方法(导入方法)import module_nameimport module1_name...原创 2019-12-23 23:35:55 · 721 阅读 · 0 评论 -
python基础4_3-Json与pickle、软件目录结构规范
1、内置方法abs(x) 取绝对值all(iterable) 可迭代对象中有一个元素为假结果就是假any(iterable) 可迭代对象中有一个元素为真结果就是真bin(x) 十进制->二进制bool(x) 判断真假chr(x) x必须是数字,返回该数字在ascill码对应的字符ord(x) x必须是字符,返回该字符在ascill码对应的数字compile(): code...原创 2019-12-17 19:33:14 · 273 阅读 · 0 评论 -
python基础4_2-列表生成式、生成器(generator)、迭代器(Iterator)
生成器通过列表生成式,我们可以直接创建一个列表。但是受内存的限制,列表的容量是有限的。而且,创建一个100万个数据的列表,不仅占很大的内存存储,如果我们可能只需用到前面的一部分数据,那么后面的数据既没有使用到,还占了内存,白白浪费了内存空间。注:列表生成式:如 c = [i*2 for i in range(10)]那么,如果列表按照某种算法推算出来,这样就不必创建完整的list,从而节省大...原创 2019-12-16 22:29:15 · 339 阅读 · 0 评论 -
python基础4_1-装饰器(decorator)
定义:本质是函数(装饰其他函数),就是为其他函数添加附加功能。原则:不能修改被装饰的函数的源代码不能修改被装饰函数的调用方式一个简单的装饰器的例子:# Author: Mr.Xue# 2019.10.23"""实现装饰的知识储备: 1、函数即‘变量’ 2、高阶函数 3、嵌套函数高阶函数+嵌套函数--->装饰器"""import timedef ti...原创 2019-12-16 15:48:56 · 604 阅读 · 0 评论 -
python基础3-函数定义、函数返回值、函数参数、局部变量和全局变量、递归、高阶函数、函数式编程、匿名函数、嵌套函数、内置方法
函数返回值:返回值数=0,返回None返回值数=1,返回object返回值数>1,返回tuple位置参数、关键字参数、默认参数-位置参数与行参一一对应-关键字调用与行参顺序无关-关键参数不能写在位置参数前面-默认参数特点:调用函数时,默认参数非必须传递;用途:默认安装值参数组(参数个数不固定)# 接收N个位置参数,转换成元组 def test(*args):...原创 2019-12-11 22:26:46 · 330 阅读 · 0 评论 -
python基础2_3-字符编码发展史和字符编码转换
目录1、发展史2、转换1、发展史python解释器在加载 .py 文件中的代码时,会对内容进行编码(2.x默认ascii,3.x默认utf-8)ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:...原创 2020-04-12 14:31:22 · 236 阅读 · 0 评论 -
python基础2_2-文件操作
目录1、文件基本操作2、文件修改方式1、文件基本操作流程:打开文件,得到文件句柄并赋值给一个变量通过句柄对文件进行操作关闭文件#基本操作f = open('test.txt', 'w', encoding='utf-8') # open filefirst_line = f.readline() #光标移到下一行print(first_line) # 读一行data =...原创 2020-04-11 20:10:46 · 271 阅读 · 0 评论 -
python基础2_1-列表、元组、字符串、字典、集合
目录1、列表和元组操作1、列表和元组操作定义列表names = ['Severen',"Peter",'Bob']通过下标访问列表中的元素,下标从0开始计数>>> names[0]'Severen'>>> names[2]'Bob'>>> names[-1]'Bob'>>> names[-2] #还可以...原创 2020-04-11 19:35:28 · 280 阅读 · 0 评论 -
python基础1-简介、解释器、变量、输入输出、数据类型、三元运算
目录1、python介绍python是一门什么样的语言?Python的优缺点2、解释器3、变量4、字符编码5、用户输入输出6、模块初识1、python介绍python的创始人为吉多·范罗苏姆(Guido van Rossum),圈内称之为“龟叔”。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。python是一门什么样的...原创 2020-04-06 16:16:20 · 565 阅读 · 0 评论