01 2024 档案

摘要:对GIL锁的理解 【1】介绍 在 Python 中,GIL 或全局解释器锁(Global Interpreter Lock)是一个机制,用于限制 Python 解释器在多线程环境中同时执行多个线程的能力。这是 Python 核心解释器(CPython)中的一个重要部分,它的存在主要是为了简化 CPy 阅读全文
posted @ 2024-01-20 19:01 HuangQiaoqi 阅读(23) 评论(0) 推荐(0) 编辑
摘要:池 【1】概念 池是用来保证计算机硬件安全的情况下,最大限度的利用计算机资源,降低了程序的运行效率,但是保证了计算机硬件的安全 池(Pool)的概念在计算机科学和软件工程中常被用于资源管理,尤其是在多线程或并发编程中。池是一种管理和优化资源分配的机制,它事先分配一定数量的资源(如线程、数据库连接、对 阅读全文
posted @ 2024-01-20 18:43 HuangQiaoqi 阅读(14) 评论(0) 推荐(0) 编辑
摘要:死锁和递归锁 【1】死锁 def task(i): mutex_1.acquire() print(f'{current_thread().name}抢到了第一把锁') mutex_2.acquire() print(f'{current_thread().name}抢到了第二把锁') mutex_ 阅读全文
posted @ 2024-01-20 18:42 HuangQiaoqi 阅读(14) 评论(0) 推荐(0) 编辑
摘要:【一】threading模块介绍 多线程创建和多进程创建很像 我的理解是threading模块的作者遵循了鸭子类型 所以和multiprocessing模块的使用方法那么像 【二】开启线程的两种方式 方式一 直接调用 Thread 方法 from threading import Thread im 阅读全文
posted @ 2024-01-18 20:01 HuangQiaoqi 阅读(5) 评论(0) 推荐(0) 编辑
摘要:【一】什么是线程 线程可以被看作是在程序内部的一个独立的任务流,它是操作系统能够进行运算调度的最小单位。线程存在于进程之中,可以把进程想象成一个工厂,而线程就像是工厂里的工人。 想象你有一个工厂(这个工厂就像一个进程),在这个工厂里有很多工人(这些工人就是线程)。这些工人可以同时进行不同的任务,比如 阅读全文
posted @ 2024-01-18 20:00 HuangQiaoqi 阅读(27) 评论(0) 推荐(0) 编辑
摘要:【一】进程间通信介绍 什么是进程间通信 进程间通信(Inter-process Communication,IPC)是指在不同进程之间传输数据或信号的机制。由于每个进程拥有自己独立的内存空间,所以不同进程之间无法直接访问对方的变量或数据结构。因此,操作系统提供了多种IPC机制来允许进程之间共享信息和 阅读全文
posted @ 2024-01-18 19:59 HuangQiaoqi 阅读(13) 评论(0) 推荐(0) 编辑
摘要:【一】互斥锁 互斥锁(Mutex,全称 Mutual Exclusion Lock)是一种用于控制多个线程对共享资源访问的同步机制。它的核心概念是确保同一时间只有一个线程可以访问某个特定的资源或代码块。互斥锁可以避免资源的并发访问造成的数据冲突和不一致的问题。 使用互斥锁时,通常遵循以下步骤: 锁定 阅读全文
posted @ 2024-01-17 20:39 HuangQiaoqi 阅读(69) 评论(0) 推荐(0) 编辑
摘要:【一】僵尸进程 想象一下,有一个家庭里,父母(父进程)安排孩子(子进程)去完成一个特定的任务,比如买东西。孩子出门去了,父母继续做他们的事情。当孩子完成任务后,他们会回家并告诉父母他们已经完成了任务。在这个过程中,父母需要知道孩子是否已经回来并完成了任务。如果孩子回来了,但父母没有注意到(也就是没有 阅读全文
posted @ 2024-01-17 20:38 HuangQiaoqi 阅读(14) 评论(0) 推荐(0) 编辑
摘要:【一】socketserver模块实现TCP并发服务 服务端 import socketserver class RequesterHandle(socketserver.BaseRequestHandler): def handle(self) -> None: print(self.reques 阅读全文
posted @ 2024-01-17 20:38 HuangQiaoqi 阅读(41) 评论(0) 推荐(0) 编辑
摘要:【一】进程和程序 【1】什么是进程? 进程就是正在运行的程序 【2】谁来执行进程? cpu 【3】进程和程序的区别? 程序是存储再硬盘里面的一堆代码和数据 进程是正在运行的程序 【二】进程调度问题 有一个算法叫做任务调度算法 就像是一个非常聪明的调度员,在计算机系统中负责安排和管理各种任务(比如程序 阅读全文
posted @ 2024-01-16 16:56 HuangQiaoqi 阅读(9) 评论(0) 推荐(0) 编辑
摘要:【一】什么是粘包问题 想象你正在通过一条很窄的管道(网络连接)发送一串珠子(数据包)。在管道的另一端,有人(接收方)正在接收这些珠子。为了让对方知道每串珠子的开始和结束,你决定在每串珠子之间放一小块纸条(数据包的边界标记)。 但是,如果这些珠子和纸条在管道中相互挤压,可能会导致纸条丢失或珠子串连在一 阅读全文
posted @ 2024-01-15 19:10 HuangQiaoqi 阅读(25) 评论(0) 推荐(0) 编辑
摘要:【一】操作系统 操作系统: (Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序 是直接运行在“裸机”上的最基本的系统软件 任何其他软件都必须在操作系统的支持下才能运行。 【二】互联网的本质 互联网的本质就是一系列的网络协议 【1】引入 一台硬件设备有了操作系统 阅读全文
posted @ 2024-01-15 10:20 HuangQiaoqi 阅读(47) 评论(0) 推荐(0) 编辑
摘要:【零】引入 C/S和B/S都是互联网中常见的网络结构模型。 【一】什么是C/S模型 C是英文单词“Client”的首字母,即客户端的意思 C/S就是“Client/Server”的缩写,即“客户端/服务器”模式。 例如:抖音app< >抖音服务端 【二】什么是B/S模型 B是英文单词“Browser 阅读全文
posted @ 2024-01-15 10:19 HuangQiaoqi 阅读(153) 评论(0) 推荐(0) 编辑
摘要:【一】什么是socket 传输层以下的操作都很复杂且固定,大神对传输层及以下层的操作进行的一个封装,至于传输层怎么封装,网络层怎么封装,数据链路层怎么封装,物理层怎么发出去,大神都将他们封装到socket模块里面了 socket翻译过来是套接字,套接字就是我们用来通过网络发数据和收数据的 【1】DH 阅读全文
posted @ 2024-01-15 10:18 HuangQiaoqi 阅读(6) 评论(0) 推荐(0) 编辑
摘要:【零】引入 【1】前言 我们知道,经典设计模式总共有 23 种,但其中只有少数几种被广泛采用。 根据我的工作经验,实际常用的可能不超过其中的一半。 如果随机找一位程序员,并要求他列举出自己最熟悉的三种设计模式,那么单例模式肯定会是其中之一,这也是今天我们要讨论的。 【2】为什么要单例模式 单例设计模 阅读全文
posted @ 2024-01-13 23:24 HuangQiaoqi 阅读(29) 评论(0) 推荐(0) 编辑
摘要:【一】常用的魔法方法 【1】初始化对象的属性__init__ 【二】元类 【1】什么是元类 一切源于一句话:Python中一切皆对象 八大基本数据类型是对象 类实例化得到的对象也是对象 其实类本身也是一种对象 class Human: def __init__(self, name, age): s 阅读全文
posted @ 2024-01-13 23:22 HuangQiaoqi 阅读(6) 评论(0) 推荐(0) 编辑
摘要:【一】反射 【1】什么是反射 反射是一种程序可以判断,取出和修改其本地状态或行为的能力 在python中,反射主要是指通过字符串操作对象属性 【2】Python中的反射 同过字符串的形式操作对象相关的属性 python一切皆为对象,都可以使用反射 【二】反射方法 【1】反射方法介绍 getatter 阅读全文
posted @ 2024-01-13 23:22 HuangQiaoqi 阅读(18) 评论(0) 推荐(0) 编辑
摘要:【一】绑定方法与非绑定方法介绍 【1】绑定方法 绑定给谁,谁调用就将谁作为第一个参数传入 (1)绑定到类的方法 使用classmethod装饰器来装饰 将类作为第一个参数传入 对象也可调用,会将实例化对象的类作为第一个参数传入 (2)绑定到对象的方法 通过 对象.方法 的方法实现,将对象作为第一个参 阅读全文
posted @ 2024-01-13 23:21 HuangQiaoqi 阅读(7) 评论(0) 推荐(0) 编辑
摘要:【一】多态 【1】什么是多态 指一类事物有很多形态 【2】示例 比如汽车是一类,它于很多形态,如 奔驰 宝马 奥迪 class Car: def run(self): print('开始跑') class Benz(Car): def run(self): super().run() print(' 阅读全文
posted @ 2024-01-13 23:20 HuangQiaoqi 阅读(11) 评论(0) 推荐(0) 编辑
摘要:【一】什么是抽象类 抽象类是一种不能被实例化的类,它充当了一种模板或者说是蓝图。在抽象类中,你可以定义一些抽象方法,这些抽象方法没有具体的实现,即没有方法体。它们必须在抽象类的子类中被实现,除非那个子类也是一个抽象类。抽象类可以包含具体方法(已实现的方法)和抽象方法(未实现的方法)。 【二】为什么要 阅读全文
posted @ 2024-01-13 23:20 HuangQiaoqi 阅读(12) 评论(0) 推荐(0) 编辑
摘要:【一】什么是派生 派生是指子类继承父类,子类多出来自己的属性和方法,并且重用父类的属性和方法 【二】派生的方法 子类可以派生出自己的新属性,在进行属性查找时,子类的属性名会优先于父类被查找 class Human: location = 'earth' def __init__(self, coun 阅读全文
posted @ 2024-01-13 23:19 HuangQiaoqi 阅读(22) 评论(0) 推荐(0) 编辑
摘要:【一】继承介绍 【1】继承的作用 class Car(object): def run(self): print('I can run') class Benz(Car): ... class BWM(Car): ... class Audi(Car): ... car_1 = Benz() car 阅读全文
posted @ 2024-01-13 23:18 HuangQiaoqi 阅读(3) 评论(0) 推荐(0) 编辑
摘要:【一】封装 【1】第一层面的封装 第一层面的封装:类就像是一个袋子,把各种数据和属性撞到这个类里面,这就是封装 第一阶段: # 如果我们要定义学生green如何定义? name = 'green' age = 22 sex = '男' 我们当然可以用这三个变量去形容green这个人 但是弊端也很明显 阅读全文
posted @ 2024-01-13 23:16 HuangQiaoqi 阅读(4) 评论(0) 推荐(0) 编辑
摘要:【一】什么是内置函数? 内置函数就是Python给你提供的, 拿来直接用的函数,比如print,input等。 截止到python版本3.6.2 ,一共提供了68个内置函数,具体如下 Built-in Functions Aabs()aiter()all()any()anext()ascii() B 阅读全文
posted @ 2024-01-13 23:14 HuangQiaoqi 阅读(11) 评论(0) 推荐(0) 编辑
摘要:【一】什么是装饰器 器:工具 装饰:为其他事物添加额外的功能 定义一个函数,这个函数的功能就是用来装饰其他函数的 也就是说这个函数就是用来给其他函数添加额外功能用的 提示:可调用对象有函数,方法或者类,此处我们单以本章主题函数为例,来介绍函数装饰器,并且被装饰的对象也是函数。 【二】开放封闭原则 开 阅读全文
posted @ 2024-01-13 23:13 HuangQiaoqi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:【一】文本处理引入 应用程序运行过程中产生的数据最先都是存放于内存中的 若想永久保存下来,必须要保存于硬盘中。应用程序若想操作硬件必须通过操作系统 而文件就是操作系统提供给应用程序来操作硬盘的虚拟概念 用户或应用程序对文件的操作,就是向操作系统发起调用,然后由操作系统完成对硬盘的具体操作。 【二】文 阅读全文
posted @ 2024-01-13 23:11 HuangQiaoqi 阅读(20) 评论(0) 推荐(0) 编辑
摘要:【一】深浅拷贝问题的引入 无论是深拷贝还是浅拷贝都是用来复制对象用的 如果是浅拷贝,只会复制一层,如果拷贝的对象是可变数据类型,修改可变数据类型还会影响拷贝的对象 在python中,深拷贝和浅拷贝是用于复制对象不同的两种方式 list_original = [1, 2, 3, [4, 5, 6, ] 阅读全文
posted @ 2024-01-13 23:10 HuangQiaoqi 阅读(4) 评论(0) 推荐(0) 编辑
摘要:【一】可变数据类型 对于可变数据类型(如列表,字典等),在函数中修改参数会影响原始对象 【1】字典 dic = {'name': 'Green', 'sex': 'male', 'age': '22'} print(id(dic)) # 1210849384512 # 修改字典中的值 dic['na 阅读全文
posted @ 2024-01-13 23:09 HuangQiaoqi 阅读(14) 评论(0) 推荐(0) 编辑
摘要:【一】数据类型内置方法介绍 数据类型是用来记录事物状态的,而事物的状态是不断变化的(如:一个人年龄的增长(操作int类型) 单个人名的修改(操作str类型),学生列表中增加学生(操作list类型)等),这意味着我们在开发程序时需要频繁对数据进行操作 为了提升我们的开发效率 python针对这些常用的 阅读全文
posted @ 2024-01-13 23:06 HuangQiaoqi 阅读(4) 评论(0) 推荐(0) 编辑
摘要:【一】参考网站 参考网站(菜鸟教程):https://www.runoob.com/python/python-operators.html 【二】算数运算符 python支持的算数运算符与数学上计算的符号使用是一致的 我们以x=9,y=2为例来依次介绍它们 【1】加法运算符 + x = 9 y = 阅读全文
posted @ 2024-01-13 22:58 HuangQiaoqi 阅读(14) 评论(0) 推荐(0) 编辑
摘要:【一】基本数据类型引入 【1】学习变量的目的 学习变量有助于我们在程序中存储和操作数据,提高代码的灵活性和可维护性。 通过使用变量,我们可以方便地引用和修改数据,使得程序能够动态地响应不同的输入和条件。 【2】学习基本数据类型的目的 学习基本数据类型有助于我们理解不同类型的数据在计算机中的表示和操作 阅读全文
posted @ 2024-01-13 22:56 HuangQiaoqi 阅读(21) 评论(0) 推荐(0) 编辑
摘要:【一】变量 【1】什么是变量 变量是用于存储数据值的标识符,可以通过变量名访问和操作这些数据。 在程序中,变量就像一个容器,用于存储和管理数据。 变量就是可以变化的量,量指的是事物的状态 比如人的年龄、性别,游戏角色的等级、金钱等等 【2】为什么要有变量 变量的存在使得程序能够更灵活地处理数据,而不 阅读全文
posted @ 2024-01-13 22:48 HuangQiaoqi 阅读(18) 评论(0) 推荐(0) 编辑

more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示