Loading

01 2021 档案

摘要:multiprocessing模块 跨平台的进程创建模块。Python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源,在Python中大部分情况需要使用多进程。 multipeocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threa 阅读全文
posted @ 2021-01-25 17:03 吃了好多肉 阅读(144) 评论(0) 推荐(0)
摘要:黏包 首先看下Socket传输数据的原理: 两端的socket程序要发送数据是先将数据发送到本地的缓存当中,然后发起系统调用,让系统控制网卡,将数据发送出去。接收端收到数据后,也是先放到本地的缓存队列中,socket程序都是从缓存队列中取数据。 对TCP协议来讲,数据没有接收干净并不会丢弃,而是放在 阅读全文
posted @ 2021-01-25 16:49 吃了好多肉 阅读(169) 评论(0) 推荐(0)
摘要:Struct模块 将一个类型转成固定长度的bytes。 格式 C 类型 Python 类型 标准大小 注释 x 填充字节 无 c char 长度为 1 的字节串 1 b signed char 整数 1 (1), (2) B unsigned char 整数 1 (2) ? _Bool bool 1 阅读全文
posted @ 2021-01-23 17:34 吃了好多肉 阅读(95) 评论(0) 推荐(0)
摘要:使用socket写一个C/S架构程序 基于TCP的聊天程序 TCP是基于链接的,必须先启动服务端,再启动客户端,让客户端去链接服务端。 服务端代码: import socket # 初始化一个socket对象 s_obj = socket.socket(socket.AF_INET, # 表示协议簇 阅读全文
posted @ 2021-01-23 17:33 吃了好多肉 阅读(198) 评论(0) 推荐(0)
摘要:网络程序架构 C/S架构 client客户端 server服务端 缺点:两端程序均需自己编写,工作量更多。 优点:充分发挥客户端的计算能力,能将用户请求在客户端进行处理后再提交给服务端;客户端使用的应用层协议开发者可自己控制。 B/S架构 B/S架构属于C/S架构。 browser浏览器端 serv 阅读全文
posted @ 2021-01-23 17:32 吃了好多肉 阅读(267) 评论(0) 推荐(0)
摘要:正则表达式(regex) 正则表达式与语言无关,是一套规则,用来匹配字符串。 作用 1、检测一个输入的字符串是否合法。 web开发项目,表单验证。用户输入一个内容的时候,我们要提前做检测,将不合法的内容直接返回,能够提高程序的效率并且减轻服务器的压力。 2、从一个大文件中找到所有符合规则的内容。 日 阅读全文
posted @ 2021-01-14 16:44 吃了好多肉 阅读(354) 评论(1) 推荐(0)
摘要:re模块 这个模块提供了与 Perl 语言类似的正则表达式匹配操作。 模式和被搜索的字符串既可以是 Unicode 字符串 (str) ,也可以是8位字节串 (bytes)。 但是,Unicode 字符串与8位字节串不能混用:也就是说,你不能用一个字节串模式去匹配 Unicode 字符串,反之亦然; 阅读全文
posted @ 2021-01-14 16:42 吃了好多肉 阅读(102) 评论(0) 推荐(0)
摘要:xml模块 xml是实现不同语言或程序之间进行数据交换的协议,跟json类似,但json使用起来更简单,不过,在json还没诞生的年代,只能选择用xml,至今很多传统公司如金融行业的很多系统的接口还主要是xml。 xml的格式如下,就是通过<>节点来区别数据结构的: <?xml version="1 阅读全文
posted @ 2021-01-14 16:30 吃了好多肉 阅读(99) 评论(0) 推荐(0)
摘要:configparser模块: 此模块提供了它实现一种基本配置语言 ConfigParser 类,这种语言所提供的结构与 Microsoft Windows INI 文件的类似。 你可以使用这种语言来编写能够由最终用户来自定义的 Python 程序。 在Python3中configparser模块是 阅读全文
posted @ 2021-01-14 16:28 吃了好多肉 阅读(135) 评论(0) 推荐(0)
摘要:异常 异常是程序发生错误的信号,程序一旦出错就会产生异常,异常是一个对象,若没有捕获异常并处理,则会抛出异常,程序的运行就会终止。 异常的三部分 1、异常的追踪信息,显示哪个文件,第几行出现错误。 2、异常的类型,类型即类,一种类型标识一种错误。 3、异常的内容,具体的错误信息。 Traceback 阅读全文
posted @ 2021-01-14 16:18 吃了好多肉 阅读(112) 评论(0) 推荐(0)
摘要:zipfile压缩解压缩 形参 mode 应当为 'r' 来读取一个存在的文件,'w' 来截断并写入新的文件, 'a' 来添加到一个存在的文件。ZipFile 也是一个上下文管理器,也支持with语句。解压时可指定密码,密码必须是bytes类型。 import zipfile # 压缩 z = zi 阅读全文
posted @ 2021-01-13 15:27 吃了好多肉 阅读(139) 评论(0) 推荐(0)
摘要:zipfile压缩解压缩 形参 mode 应当为 'r' 来读取一个存在的文件,'w' 来截断并写入新的文件, 'a' 来添加到一个存在的文件。ZipFile 也是一个上下文管理器,也支持with语句。解压时可指定密码,密码必须是bytes类型。 import zipfile # 压缩 z = zi 阅读全文
posted @ 2021-01-12 21:31 吃了好多肉 阅读(126) 评论(1) 推荐(1)
摘要:sys模块 sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境。 sys.path Python解释器查找模块的路径列表。 >>> sys.path ['', 'D:\\Python38\\python38.zip', 'D:\\Python38 阅读全文
posted @ 2021-01-12 21:24 吃了好多肉 阅读(124) 评论(0) 推荐(0)
摘要:hashlib模块 这个模块针对不同的安全哈希和消息摘要算法实现了一个通用的接口。该算法接收传入的内容,经过运算得到一串hash值 此模块中总是可用的哈希算法构造器有md5, sha1(), sha224(), sha256(), sha384(), sha512(), blake2b() 和 bl 阅读全文
posted @ 2021-01-12 21:22 吃了好多肉 阅读(316) 评论(1) 推荐(1)
摘要:random模块 此模块提供了伪随机数获取相关的方法。 random.random():获取[0,1.0)范围内的浮点数 >>> import random >>> random.random() 0.8194962938698106 random.randint(a,b):获取[a,b]范围内的一 阅读全文
posted @ 2021-01-12 21:20 吃了好多肉 阅读(102) 评论(0) 推荐(0)
摘要:os模块 本模块提供了一种使用与操作系统相关的功能的便捷式途径。 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 >>> import os >>> os.getcwd() 'D:\\Desktop\\Netfile os.chdir("dirname") 改变当前脚 阅读全文
posted @ 2021-01-12 15:11 吃了好多肉 阅读(125) 评论(0) 推荐(0)
摘要:__doc__ 类名.__doc__时触发执行,查看类的注释信息,注释信息无法继承。 class Person: """ 该类注释信息 """ print(Person.__doc__) 该类注释信息 直接写注释信息相当于定义了个__doc__ = """该类的注释信息""",所以可以不用写pass 阅读全文
posted @ 2021-01-05 21:23 吃了好多肉 阅读(112) 评论(0) 推荐(0)
摘要:以下方法统称为富比较方法: __eq__(self, other) 使用==比较两个对象时会触发内部代码执行。 class A: def __eq__(self, other): print('触发A内方法的执行') if self.name == other.name: # 自己定制比较规则。 r 阅读全文
posted @ 2021-01-05 21:22 吃了好多肉 阅读(95) 评论(0) 推荐(0)
摘要:__len__(self) 内置函数len(obj)的原理就是触发对象所属类的__len__方法,该方法返回值必须为整型,len()拿到的就是该方法的返回值。 class F: def __len__(self): # 返回对象的属性数量 return len(self.__dict__) f = 阅读全文
posted @ 2021-01-05 21:19 吃了好多肉 阅读(79) 评论(0) 推荐(0)
摘要:__enter__(self)和__exit__(self, exc_type, exc_val, exc_tb) with语句也叫做上下文管理协议,为了让一个对象兼容with语句,必须在这个对象的类中声明enter和exit方法。 with 对象会触发类的__enter__执行,enter的返回值 阅读全文
posted @ 2021-01-05 21:18 吃了好多肉 阅读(192) 评论(0) 推荐(0)
摘要:__iter__(self)和__next__(self) Python中for循环的原理就是调用可迭代对象的__iter__方法得到迭代器对象,然后调用__next__方法进行取值,直到对象抛出StopIteration异常。某些语言例如go,即支持迭代循环,也支持索引循环。 自定义一个可迭代对象 阅读全文
posted @ 2021-01-05 21:17 吃了好多肉 阅读(135) 评论(0) 推荐(0)
摘要:__str__(self) 打印对象时print(obj)时会触发__str__的执行。 class A: def __str__(self): return 'str执行了' def __repr__(self): return 'repr执行了' a = A() print(a) str执行了 阅读全文
posted @ 2021-01-05 21:15 吃了好多肉 阅读(78) 评论(0) 推荐(0)
摘要:__call__(self,*args,**kwargs) 对象加括号obj()会触发所属类的__call__的执行。Python中一切皆对象,类加括号实例化对象时也会触发元类的__call__。 class Car: def __call__(self, *args, **kwargs): pri 阅读全文
posted @ 2021-01-05 21:13 吃了好多肉 阅读(146) 评论(0) 推荐(0)