自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 Python列表深浅拷贝详解:原理、区别与应用场景

在Python中,"拷贝"指的是创建一个新的对象,其内容与原对象相同。但根据拷贝的深度不同,分为浅拷贝和深拷贝。直接赋值:只是创建引用,不拷贝数据浅拷贝:复制最外层,共享嵌套对象,适用于简单结构或需要共享嵌套对象时深拷贝:完全独立复制,适用于复杂嵌套结构且需要完全独立副本时理解深浅拷贝的区别可以帮助你避免许多常见的Python陷阱,写出更健壮的代码。在实际开发中,应根据具体需求选择合适的拷贝方式。

2025-05-28 13:50:47 1058

原创 TCP与UDP协议全面对比:从原理到应用场景深度解析

TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它通过三次握手建立连接,提供数据包排序、错误检测和重传机制,确保数据可靠传输。主要特点面向连接:通信前需先建立连接可靠传输:确认机制、重传机制保证数据可达流量控制:滑动窗口机制防止接收方过载拥塞控制:多种算法避免网络拥塞有序传输:数据按发送顺序到达。

2025-05-22 14:00:22 741

原创 Python中的global与nonlocal关键字详解

在Python编程中,变量作用域是一个非常重要的概念。对于初学者来说,经常会遇到在函数内部无法修改外部变量的问题。这时候,global和nonlocal关键字就能派上用场了。本文将详细介绍这两个关键字的用法、区别以及适用场景,帮助Python小白彻底理解它们。global用于在函数内部修改全局变量,nonlocal用于在嵌套函数中修改外层函数的变量。使用global时,如果全局变量不存在会自动创建;使用nonlocal时,外层变量必须已存在。两个关键字都应谨慎使用,过度使用会导致代码难以维护。

2025-05-07 21:25:42 1171

原创 Python列表全面指南:从基础到高级操作

列表(List)是由一系列元素组成的可变有序序列容器,是Python中最灵活的数据类型之一。特点有序性:元素按照插入顺序存储可变性:可以随时添加、删除或修改元素异构性:可以存储不同类型的元素可迭代:可以使用循环遍历所有元素本文全面介绍了Python列表的各个方面:列表的基本概念和特性创建和访问列表的各种方法常用的增删改查操作高级操作如遍历、拷贝和列表生成式列表与字符串的相互转换技巧性能优化建议和最佳实践。

2025-05-06 08:00:00 640

原创 Python中有序序列容器的概念及其与可变性的关系

元素有序排列:元素按照插入顺序存储,可以通过位置(索引)访问可迭代:可以使用for循环遍历所有元素支持索引和切片操作:使用[index]访问特定位置的元素Python中主要的有序序列容器包括:字符串(str)列表(list)元组(tuple)范围(range)字节(bytes)字节数组(bytearray)有序序列容器强调元素的顺序性,与可变性是两个独立概念Python中既有可变有序序列(如列表),也有不可变有序序列(如元组、字符串)可变性影响的是对象内容能否被修改,不影响其有序性。

2025-05-05 20:57:38 763

原创 Python字符串全面指南:从基础到高级操作

本文全面介绍了Python字符串的各个方面,包括:字符串的基本概念和创建方式字符串编码和解码字符串的基本操作(拼接、重复、索引、切片等)字符串常用方法(查找、替换、分割、判断等)字符串格式化(%格式化、str.format、f-strings)实际应用示例性能优化建议掌握这些字符串操作技巧,将大大提高您的Python编程效率和代码质量。字符串处理是编程中的基础技能,希望本文能帮助您全面理解并熟练运用Python字符串。

2025-05-05 20:47:52 1229

原创 Python基础:数据类型特性全面总结

Python中的数据类型可以分为可变和不可变两大类,同时也可以按是否为容器类型来分类。下面我将详细总结Python中主要数据类型的特性,包括可变性、容器性质、修改方式等。

2025-04-30 10:00:00 490

原创 Python入门:流程控制练习

本文通过9个实用示例介绍了Python中的流程控制结构,包括:条件判断(循环结构(while循环控制(break这些基础概念是Python编程的核心,掌握它们将为学习更复杂的内容打下坚实基础。建议读者亲自尝试每个示例,并尝试修改代码以加深理解。

2025-04-29 21:20:15 640

原创 MySQL数据库全面详解:从基础到高级应用

变量:程序中最基本的数据存储单元元组:不可变的序列类型,常用于函数返回多个值列表:有序可变集合,可存储不同类型元素字典:键值对集合,提供快速查找集合:无序不重复元素集文件name: ZSMySQL是一个开源的关系型数据库管理系统,由瑞典MySQL AB公司开发,现属于Oracle旗下产品。它是目前最流行的关系型数据库之一,特别适合Web应用开发。特点体积小、速度快总体拥有成本低开源支持多用户、多线程。

2025-04-29 20:49:15 1092

原创 Python协程详解:从基础到实战

协程(Coroutine)是Python中另外一种实现多任务的方式,它是一种比线程更小的执行单元,占用更少的资源。协程之所以被称为执行单元,是因为它自带CPU上下文。这意味着只要在合适的时机,我们可以把一个协程切换到另一个协程,只要在这个过程中保存或恢复CPU上下文,程序就可以继续运行。通俗地说:在一个线程中的某个函数,可以在任何地方保存当前函数的一些临时变量等信息,然后切换到另外一个函数中执行(注意不是通过调用函数的方式做到的),并且切换的次数以及什么时候再切换到原来的函数都由开发者自己确定。

2025-04-24 21:52:20 1182 1

原创 Python线程全面详解:从基础概念到高级应用

A:Python中的Queue、deque(需加锁)、collections.defaultdict(需加锁)等,或使用threading.local实现线程局部存储。当我们将程序加载到内存中运行时,系统会为它分配CPU、内存、文件句柄等资源,这时就形成了一个进程。是CPU调度的基本单位,它是进程中的一个执行流。一个进程可以包含多个线程,这些线程共享进程的资源,但每个线程有自己的执行路径和栈空间。对于CPU密集型任务,由于GIL的存在,多线程可能不会提高性能,此时应考虑多进程。

2025-04-22 20:59:03 1217

原创 基于Python Socket的多线程聊天程序案例分析

这个程序展示了Python socket和多线程编程的基本应用,实现了简单的客户端间消息转发功能。虽然功能相对简单,但包含了网络编程的核心概念,适合作为学习案例。读者可以在此基础上扩展更复杂的功能,如群聊、文件传输、用户认证等。

2025-04-21 20:22:31 424

原创 深入理解Python的进程间通信与并发模式

方法描述同步/异步同步执行函数同步异步执行函数异步并行映射函数到可迭代对象同步异步并行映射异步p.close()关闭进程池p.join()等待所有进程完成进程间通信:队列和JoinableQueue的使用生产者消费者模型:经典并发模式实现数据共享:Manager类的安全共享方式进程池:高效管理大量小任务回调函数:异步处理任务结果多进程编程可以充分利用多核CPU资源,但需要注意:尽量避免共享数据,使用消息传递合理控制并发进程数量处理好进程同步和通信问题。

2025-04-21 19:59:10 1078

原创 Python多进程同步全解析:从竞争条件到锁、信号量的实战应用

当一个进程获取到锁之后,其他进程就必须等待该进程释放锁,才能继续访问共享资源。比如,两个进程同时读取到剩余票数为 100,各自减 1 后都写回 99,而实际上应该是 98。事件用于进程间的简单通信,一个进程发出"事件已发生"信号,其他进程等待该事件。是对共享资源的修改操作,由于有锁的保护,同一时间只有一个进程能执行这一操作。由于没有同步机制,后写入的操作会覆盖前一个操作,导致存款操作"丢失"。用于获取锁,一旦某个进程获取到锁,其他进程就只能等待。用于释放锁,释放后其他进程就可以竞争获取锁。

2025-04-20 21:45:26 920

原创 Python多任务编程:进程全面详解与实战指南

进程(Process)是指正在执行的程序,是程序执行过程中的一次指令、数据集等的集合。简单来说,进程就是程序的一次执行过程,它是一个动态的概念。想象你打开电脑上的音乐播放器听歌,同时又在用浏览器上网,这两个就是不同的进程。操作系统会为每个运行的程序创建一个进程,让它们看起来像是同时在运行。

2025-04-20 21:12:51 1115

原创 Python列表去重的4种核心方法详解与实战指南

最快方案set()转换(不要求顺序时)顺序保持内存优化:副本删除法教学演示:冒泡比较法(实际项目不推荐)根据数据规模、顺序要求和内存限制选择最适合的方法,大多数情况下集合转换是最佳选择。

2025-04-17 13:53:43 1486

原创 Python文件操作完全指南:从基础到高级应用

在计算机中,文件是指存储在某种长期储存设备上的一段数据。这些长期存储设备包括:硬盘(HDD/SSD)U盘和移动硬盘光盘(CD/DVD)网络存储设备文件的核心作用是将数据长期保存下来,在需要时可以随时访问和使用。与内存中的临时数据不同,文件中的数据在计算机关闭后仍然能够保留。资源管理始终使用with语句确保文件正确关闭避免同时打开过多文件路径处理使用os.path代替手动拼接路径处理用户输入路径时进行规范化编码规范明确指定文件编码(推荐UTF-8)处理多语言内容时考虑使用chardet检测编码。

2025-04-16 20:22:38 1078

原创 Python异常处理全面指南

在Python编程中,异常是指程序在运行时发生的意外情况,它会中断正常的程序流程。当Python解释器遇到无法正常执行的代码时,会停止程序并显示错误信息,这个过程称为抛出异常。

2025-04-16 19:47:00 454

原创 UDP猜数字游戏与TCP文件传输案例解析

这是一个基于UDP协议的客户端-服务器猜数字游戏,服务器随机生成一个1-100的数字,客户端通过猜测数字与服务器交互,服务器会提示猜测是太大还是太小。这是一个基于TCP协议实现的简单文件传输工具,支持文件上传功能(下载功能留作扩展)。特性UDP猜数字游戏TCP文件传输协议类型UDP (无连接)TCP (面向连接)适用场景简单、快速、偶尔丢包可接受可靠、有序的数据传输数据格式简单字符串JSON结构化数据交互方式请求-响应式连接-传输-断开式典型应用实时游戏、视频流。

2025-04-16 19:14:34 447

原创 Python单例设计模式深度解析

单例设计模式(Singleton Pattern)是一种常用的软件设计模式,它确保一个类只有一个实例存在,并提供一个全局访问点。这种模式在需要控制实例数目、节省系统资源或确保全局一致性时非常有用。单例模式是Python中常用的设计模式之一,通过控制实例创建过程确保全局唯一性。本文详细介绍了三种实现方式,解决了初始化多次执行的问题,并提供了线程安全方案和实际应用案例。正确使用单例模式可以优化系统架构,但也要注意避免滥用。

2025-04-16 10:41:52 1267

原创 面向对象编程三大综合案例详解:门票系统、学生管理、手机套餐

封装性:将数据和操作封装在类中,隐藏实现细节可扩展性:通过添加新方法或属性轻松扩展功能可维护性:相关功能组织在一起,便于维护和修改。

2025-04-15 21:36:17 442

原创 网络编程入门:基于 Python 的 Socket 通信

创建 UDP 套接字对象# 定义默认的编码方式为 UTF-8# 绑定 IP 地址和端口号# 将消息编码为字节类型并发送到指定地址# 接收消息,最多接收 buffer_size 字节# 将接收到的字节数据解码为字符串# 关闭 UDP 套接字# 创建自定义的 UDP 套接字对象,自动使用 UTF - 8 编码# 绑定本地回环地址和端口 8080# 接收客户端消息,自动解码# 打印消息和客户端地址# 关闭套接字sk.close()# 创建自定义的 UDP 套接字对象。

2025-04-15 21:29:16 1109

原创 Python类属性与类方法详解

在面向对象编程中,类是创建对象的蓝图。理解类的结构是掌握Python面向对象编程的基础。类属性是属于类对象的属性,用于记录与类相关的特征,而非具体实例的特征。类对象可以拥有自己的属性和方法(类属性和类方法):通过类创建的具体对象,拥有独立的内存空间。类方法是针对类对象定义的方法,使用。装饰器,不需要访问类或实例属性。与类相关但不需要访问类状态的功能。可以访问类属性和调用其他类方法。只涉及类级别操作 → 类方法。一个类可以创建多个实例对象。定义的类本身也是一个对象。类对象在内存中只有一份。

2025-04-11 15:42:44 741

原创 面向对象编程之多态

多态是面向对象编程中提升代码灵活性的关键技巧。通过本案例,我们看到了:如何通过继承和重写方法实现多态多态如何让代码更通用、更易于扩展多态在实际编程中的应用场景掌握多态概念并合理运用,可以显著提高代码质量,使程序更能适应需求变化。建议读者尝试扩展这个案例,比如添加更多类型的狗或动物,体会多态带来的便利。编程技巧:多态不是目标,而是达到代码灵活性和可维护性的手段。在设计系统时,应该从实际问题出发,自然地去应用多态,而不是为了使用多态而设计。

2025-04-11 14:00:25 828

原创 Python面向对象编程:深入理解继承

抽象类是不能被实例化的类,其主要目的是:定义子类必须实现的接口提供部分通用实现强制代码规范Python通过abc强制接口规范:确保子类实现必要方法提高代码质量:统一项目代码风格便于扩展:定义清晰的扩展点增强可维护性:降低模块间耦合度掌握抽象类技术,能让你的Python面向对象设计更专业、更健壮!单一职责原则:每个类应该只有一个改变的理由里氏替换原则:子类应该能够替换父类而不破坏程序接口隔离原则:客户端不应该被迫依赖它们不使用的接口优先使用组合:在继承和组合之间,优先选择组合。

2025-04-10 19:48:14 1328

原创 Python模块与包详解

模块是Python程序架构的核心概念,每一个以.py结尾的Python源代码文件都是一个模块。全局变量:模块级别的数据函数:可执行的操作类:自定义数据类型模块名需要符合Python标识符命名规则(字母、数字、下划线,不以数字开头)。

2025-04-10 10:47:41 678

原创 Python面向对象编程中的封装与私有属性详解

在属性名或方法名前加两个下划线__self.__age = 18 # 私有属性def __secret(self): # 私有方法print("我的年龄是 %d" % self.__age)xiaofang = Women("小芳")# xiaofang.__age # 报错,无法直接访问# xiaofang.__secret() # 报错,无法直接调用封装是面向对象编程的基础,它将属性和方法组织在类中通过封装可以隐藏实现细节,只暴露必要的接口私有属性和方法是封装的重要体现,保护对象内部状态。

2025-04-09 19:08:11 647

原创 Python面向对象编程(OOP)基础

方法实现pass# 方法实现pass面向对象编程是Python中非常重要的编程范式,掌握OOP可以让你:写出更结构化的代码更容易维护和扩展程序更好地处理复杂业务逻辑提高代码复用性。

2025-04-09 16:29:02 576

原创 Python基础知识:Python字符串格式化的四种常用方式

在Python编程中,字符串格式化是日常开发中最常用的操作之一。本文将详细介绍Python中四种主要的字符串格式化方法,帮助开发者根据不同的场景选择最合适的格式化方式。

2025-04-07 19:57:18 391 1

原创 Python基础学习:流程控制语句

搭配使用,在循环结束后执行提示:若循环中存在。

2025-04-07 15:48:37 963 1

原创 Python基础知识——random模块:随机数模块

Python中的random模块用于生成随机数。

2025-04-03 17:31:36 231 3

原创 Python基础入门:Python编程基本语法

标识符的定义:指用来标识某个实体的一个符号,在计算机编程语言中,标识符是用户编程时使用的名字,用来给变量、常量、函数、语句块等命名,建立起名称与使用之间的关系。命名规则:1. 标识符由字符(A-Z和a-z),下划线和数字组成,但一个字符不能是数字2. 标识符不能使用Python中的关键字(关键字我们下面在详细介绍)3. 不能包含空格、@、%、以及$等特殊的字符4. 标识符的字母要严格区分大小写。

2025-04-03 10:38:59 721

原创 Python基础入门:Python语言介绍与Python环境介绍

python的创始人为荷兰计算机程序员吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了 决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中 Python(蟒蛇) 作为程序的名字,是因为他是 BBC 电视剧——蒙提·派森的飞行马戏团(Monty Python's Flying Circus)的爱好者。吉多·范罗苏姆被人们认为是“仁慈的独裁者(BDFL)”

2025-04-03 09:40:37 734 6

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除