Loading

随笔分类 -  Python学习笔记

摘要:pip换源 pip3 install -i 镜像源url 模块名 # 临时指定源 永久配置源: win: 1、文件管理器文件路径地址栏敲:%APPDATA% 回车,快速进入 C:\Users\电脑用户\AppData\Roaming 文件夹中 2、新建 pip 文件夹并在文件夹中新建 pip.ini 阅读全文
posted @ 2022-08-05 21:56 吃了好多肉 阅读(338) 评论(0) 推荐(0)
摘要:垃圾回收机制 垃圾回收机制(Garbage Collection),简称GC,是Python解释器自带的机制,专门用来进行垃圾回收。 在定义一个变量时,会申请内存空间,当该变量使用完毕,也应该释放掉该变量所占用的内存空间,在C中需要程序员手动释放掉内存,而Python则由GC机制进行回收。 无论何种 阅读全文
posted @ 2021-06-19 21:50 吃了好多肉 阅读(598) 评论(0) 推荐(0)
摘要:Python解释执行原理 C或C++之类的编译型语言是将源码编译成机器可以直接执行的二进制文件,当运行二进制可执行程序时,直接将二进制文件从硬盘载入内存中并运行。 Python执行源代码文件时,会先将源文件编译成字节码bytecode,然后再由Python虚拟机PVM来执行这些字节码。 字节码 字节 阅读全文
posted @ 2021-06-19 19:57 吃了好多肉 阅读(495) 评论(0) 推荐(0)
摘要:multiprocessing模块 跨平台的进程创建模块。Python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源,在Python中大部分情况需要使用多进程。 multipeocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threa 阅读全文
posted @ 2021-01-25 17:03 吃了好多肉 阅读(139) 评论(0) 推荐(0)
摘要:黏包 首先看下Socket传输数据的原理: 两端的socket程序要发送数据是先将数据发送到本地的缓存当中,然后发起系统调用,让系统控制网卡,将数据发送出去。接收端收到数据后,也是先放到本地的缓存队列中,socket程序都是从缓存队列中取数据。 对TCP协议来讲,数据没有接收干净并不会丢弃,而是放在 阅读全文
posted @ 2021-01-25 16:49 吃了好多肉 阅读(161) 评论(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 吃了好多肉 阅读(89) 评论(0) 推荐(0)
摘要:使用socket写一个C/S架构程序 基于TCP的聊天程序 TCP是基于链接的,必须先启动服务端,再启动客户端,让客户端去链接服务端。 服务端代码: import socket # 初始化一个socket对象 s_obj = socket.socket(socket.AF_INET, # 表示协议簇 阅读全文
posted @ 2021-01-23 17:33 吃了好多肉 阅读(192) 评论(0) 推荐(0)
摘要:网络程序架构 C/S架构 client客户端 server服务端 缺点:两端程序均需自己编写,工作量更多。 优点:充分发挥客户端的计算能力,能将用户请求在客户端进行处理后再提交给服务端;客户端使用的应用层协议开发者可自己控制。 B/S架构 B/S架构属于C/S架构。 browser浏览器端 serv 阅读全文
posted @ 2021-01-23 17:32 吃了好多肉 阅读(266) 评论(0) 推荐(0)
摘要:正则表达式(regex) 正则表达式与语言无关,是一套规则,用来匹配字符串。 作用 1、检测一个输入的字符串是否合法。 web开发项目,表单验证。用户输入一个内容的时候,我们要提前做检测,将不合法的内容直接返回,能够提高程序的效率并且减轻服务器的压力。 2、从一个大文件中找到所有符合规则的内容。 日 阅读全文
posted @ 2021-01-14 16:44 吃了好多肉 阅读(338) 评论(1) 推荐(0)
摘要:re模块 这个模块提供了与 Perl 语言类似的正则表达式匹配操作。 模式和被搜索的字符串既可以是 Unicode 字符串 (str) ,也可以是8位字节串 (bytes)。 但是,Unicode 字符串与8位字节串不能混用:也就是说,你不能用一个字节串模式去匹配 Unicode 字符串,反之亦然; 阅读全文
posted @ 2021-01-14 16:42 吃了好多肉 阅读(93) 评论(0) 推荐(0)
摘要:xml模块 xml是实现不同语言或程序之间进行数据交换的协议,跟json类似,但json使用起来更简单,不过,在json还没诞生的年代,只能选择用xml,至今很多传统公司如金融行业的很多系统的接口还主要是xml。 xml的格式如下,就是通过<>节点来区别数据结构的: <?xml version="1 阅读全文
posted @ 2021-01-14 16:30 吃了好多肉 阅读(93) 评论(0) 推荐(0)
摘要:configparser模块: 此模块提供了它实现一种基本配置语言 ConfigParser 类,这种语言所提供的结构与 Microsoft Windows INI 文件的类似。 你可以使用这种语言来编写能够由最终用户来自定义的 Python 程序。 在Python3中configparser模块是 阅读全文
posted @ 2021-01-14 16:28 吃了好多肉 阅读(127) 评论(0) 推荐(0)
摘要:异常 异常是程序发生错误的信号,程序一旦出错就会产生异常,异常是一个对象,若没有捕获异常并处理,则会抛出异常,程序的运行就会终止。 异常的三部分 1、异常的追踪信息,显示哪个文件,第几行出现错误。 2、异常的类型,类型即类,一种类型标识一种错误。 3、异常的内容,具体的错误信息。 Traceback 阅读全文
posted @ 2021-01-14 16:18 吃了好多肉 阅读(109) 评论(0) 推荐(0)
摘要:zipfile压缩解压缩 形参 mode 应当为 'r' 来读取一个存在的文件,'w' 来截断并写入新的文件, 'a' 来添加到一个存在的文件。ZipFile 也是一个上下文管理器,也支持with语句。解压时可指定密码,密码必须是bytes类型。 import zipfile # 压缩 z = zi 阅读全文
posted @ 2021-01-13 15:27 吃了好多肉 阅读(136) 评论(0) 推荐(0)
摘要:zipfile压缩解压缩 形参 mode 应当为 'r' 来读取一个存在的文件,'w' 来截断并写入新的文件, 'a' 来添加到一个存在的文件。ZipFile 也是一个上下文管理器,也支持with语句。解压时可指定密码,密码必须是bytes类型。 import zipfile # 压缩 z = zi 阅读全文
posted @ 2021-01-12 21:31 吃了好多肉 阅读(119) 评论(1) 推荐(1)
摘要:sys模块 sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境。 sys.path Python解释器查找模块的路径列表。 >>> sys.path ['', 'D:\\Python38\\python38.zip', 'D:\\Python38 阅读全文
posted @ 2021-01-12 21:24 吃了好多肉 阅读(118) 评论(0) 推荐(0)
摘要:hashlib模块 这个模块针对不同的安全哈希和消息摘要算法实现了一个通用的接口。该算法接收传入的内容,经过运算得到一串hash值 此模块中总是可用的哈希算法构造器有md5, sha1(), sha224(), sha256(), sha384(), sha512(), blake2b() 和 bl 阅读全文
posted @ 2021-01-12 21:22 吃了好多肉 阅读(312) 评论(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 吃了好多肉 阅读(96) 评论(0) 推荐(0)
摘要:os模块 本模块提供了一种使用与操作系统相关的功能的便捷式途径。 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 >>> import os >>> os.getcwd() 'D:\\Desktop\\Netfile os.chdir("dirname") 改变当前脚 阅读全文
posted @ 2021-01-12 15:11 吃了好多肉 阅读(119) 评论(0) 推荐(0)
摘要:__doc__ 类名.__doc__时触发执行,查看类的注释信息,注释信息无法继承。 class Person: """ 该类注释信息 """ print(Person.__doc__) 该类注释信息 直接写注释信息相当于定义了个__doc__ = """该类的注释信息""",所以可以不用写pass 阅读全文
posted @ 2021-01-05 21:23 吃了好多肉 阅读(103) 评论(0) 推荐(0)