- 博客(32)
- 收藏
- 关注
原创 Python 继承中的 MixIn 详解
Python MixIn:灵活复用代码的,功能包, MixIn是Python中一种特殊的类设计模式,它允许开发者将特定功能以模块化方式,混入,不同类中,实现代码复用而不破坏类结构。与普通继承不同,MixIn强调的是,拥有功能,而非,是什么,的关系。 代码复用:避免重复编写日志记录、JSON序列化等通用功能职责分离:保持类专注于核心功能,通过MixIn添加辅助能力灵活组合:可自由搭配不同MixIn,如同时混入Logger和JS
2025-08-09 09:43:07
578
原创 Python 继承和多态
本文介绍了Python中面向对象编程的核心概念——继承与多态。继承允许子类复用父类的属性和方法,通过单继承和多继承实现代码复用与扩展,其中多继承需要注意方法解析顺序(MRO)。多态则通过统一接口实现不同行为,使代码更具灵活性。文章通过动物类示例演示了继承的实现方式、方法重写、super()的用法以及多态的应用场景,并分析了工厂模式等常见设计模式。最后提醒开发者避免滥用继承,注意多继承的复杂性,并合理使用super()方法。这些OOP特性可显著提升代码的可维护性和扩展性。
2025-08-09 09:30:50
687
原创 Python 面向对象访问限制详解
在面向对象编程中,类就像一个蓝图,定义了对象的属性(数据)和方法(行为)。但不是所有的属性和方法都适合让外部随便访问。比如,一个银行账户的余额(balance),你肯定不希望随便谁都能改动它!访问限制就是用来控制这些“敏感”部分的,谁能访问,谁不能访问。公开成员是 Python 的默认设置。你定义的任何属性或方法,只要不加特殊前缀(像或__),就是公开的。类内部、子类、外部代码都能随便访问。
2025-08-08 09:52:46
619
原创 Python 类和实例详解
什么是类和实例?类的基本语法,属性(成员变量),创建和使用实例,访问和修改实例属性,调用实例方法,类方法和静态方法,继承和多态,类的继承机制
2025-08-08 09:20:29
851
原创 Python 深入浅出装饰器
本文详细介绍了Python装饰器的概念与应用。装饰器本质上是接受函数并返回新函数的高阶函数,通过@语法为原函数添加额外功能(如日志、计时、权限验证等)。文章从函数基础知识(如闭包)讲起,通过计时器示例演示装饰器原理,并扩展了带参数装饰器、类装饰器和多重装饰器等高级用法。实际应用场景包括日志记录、权限验证和缓存优化等,展示了装饰器如何提升代码复用性和可维护性。
2025-08-07 21:50:09
952
原创 Python 偏函数(functools.partial)详解
Python偏函数(functools.partial)是一种实用技巧,它通过固定函数的部分参数来创建新函数,使代码更简洁优雅。当需要多次调用某函数但仅修改少量参数时,偏函数能避免重复传入相同参数,提升代码可读性和封装性。与默认参数和lambda不同,偏函数是在调用时动态创建,更灵活且可序列化。典型应用场景包括简化回调、接口封装等。通过偏函数,开发者可以轻松定制通用函数,减少重复代码,使Python编程更高效。
2025-08-07 19:32:15
447
原创 Python 常用内置高阶函数
本文系统介绍了Python中常用的高阶函数及其应用场景。高阶函数指可以接收或返回函数的函数,包括map()(批量转换)、filter()(数据筛选)、reduce()(归并计算)、zip()(多序列打包)、sort()/sorted()(排序)等基础函数,以及any()/all()(布尔判断)、enumerate()(带索引遍历)、lambda表达式(匿名函数)和functools.partial()(参数绑定)等实用工具。这些函数可以单独或组合使用,通过函数式编程风格简化数据处理流程,提高代码简洁性和可读
2025-08-07 19:25:37
840
原创 Python 闭包函数:从入门到精通
Python闭包是嵌套函数引用外层变量的特性,满足三个条件:1)函数嵌套;2)内层引用外层变量;3)外层返回内层函数。闭包通过"自由变量"机制保存外层变量,常用于创建工厂函数、数据封装和缓存计算。使用时需注意使用nonlocal修改变量,避免循环变量陷阱。典型应用包括验证器生成、私有变量实现和斐波那契缓存等场景,体现了Python灵活的函数式编程能力。
2025-08-06 15:30:55
589
原创 Python 高阶函数:用函数玩出花样
Python中函数作为"第一类对象"可被赋值、传递或返回,这就是高阶函数的基础。高阶函数可接收函数参数或返回函数,内置如map()、filter()、reduce()等能简化数据处理。通过函数嵌套和链式调用,可实现函数式编程的流水线操作。高阶函数让代码更简洁灵活,广泛应用于数据处理、策略模式、装饰器等场景,是提升Python代码质量的关键技术。
2025-08-06 15:13:31
279
原创 Python 函数参数的五种类型详解
Python函数参数的五种类型详解:位置参数是最基础的传参方式,需注意参数顺序和数量;关键字参数通过参数名传递值,顺序可调整;默认参数使函数更灵活,但需避免使用可变对象作为默认值;args处理不定数量的位置参数;**kwargs接收任意关键字参数。实际开发中可组合使用这些参数,遵循"位置参数→默认参数→args→**kwargs"的顺序。建议优先使用位置和关键字参数,合理使用默认参数,谨慎使用可变参数以保持代码可读性。掌握这些参数类型能显著提升代码的灵活性和优雅度。
2025-08-06 15:04:34
582
原创 Python 函数详解
Python函数是封装重复代码的有效工具,通过def定义函数,可提高代码复用性、可读性和维护性。文章介绍了函数的基础用法(参数、返回值、作用域)、高级特性(lambda、闭包、装饰器)以及实战案例。函数参数支持多种形式(位置参数、默认值、可变参数等),返回值可用return控制。还涉及变量作用域划分、匿名函数、函数作为参数传递等进阶内容,最后提供了统计字符、素数判断、斐波那契数列生成等实用函数示例。掌握这些技巧能显著提升Python编程效率。
2025-08-05 22:42:49
1316
原创 Python 循环语法详解
本文介绍了Python中两种主要循环结构:for循环和while循环的基础用法。for循环适用于遍历列表、字典等数据结构,while循环则根据条件重复执行。文章详细讲解了循环控制语句(break、continue、else)的使用方法,以及range()函数的各种应用场景。此外,还涵盖了嵌套循环、列表推导式中的循环技巧,并提供了enumerate()和zip()等实用函数的示例代码。最后提醒了循环中的常见错误和优化建议,帮助读者更高效地使用循环结构。
2025-08-05 22:34:13
621
原创 Python 虚拟环境深入浅出全指南
Python 虚拟环境就是一个独立的 Python 运行环境,有它自己的解释器、pip 和依赖包目录。你可以把它理解成“隔离的 Python 小黑屋”。用虚拟环境创建的项目,不会污染全局 Python 环境,也不会互相影响。场景推荐工具简单脚本、轻量项目venv兼容多版本、需要定制 Python 路径virtualenv管理多个环境、懒得记路径科学计算、机器学习conda安装 Python 包pip项目部署、迁移虚拟环境是 Python 项目的必备技能;venv简单直接,够用就行;
2025-08-04 18:33:32
888
原创 Python 数据类型和变量基础
变量就像一个标签,贴在某个东西上,用来随时取用这个东西。name = "小明"age = 18上面的例子里,name和age就是变量,它们分别存着字符串"小明"和整数18。变量其实就是给数据起了个名字,方便我们后面引用它。
2025-08-04 17:15:53
734
原创 Python 如何使用 List 和 Tuple(增删改查 + 遍历 & 切片)
在学 Python 的时候,List(列表)和 Tuple(元组)绝对是绕不开的两大基本数据类型。和。
2025-08-04 17:04:26
359
原创 我用Python实现了将两个上亿行的id文件,取差集,速度简直飞起来!
本文介绍了使用Python3.11.10和RoaringBitmap处理两个上亿行ID文件取差集的方法。通过生成2亿行测试文件(耗时44秒,文件大小1.8GB),利用RoaringBitmap的压缩存储特性高效计算差集(耗时42秒)。RoaringBitmap通过位图压缩技术节省内存空间,性能受数据连续性影响较小。文中提供了完整的文件生成和差集计算代码,并分享了RoaringBitmap在HBase中的应用背景及其GitHub资源。
2025-07-22 15:51:17
337
原创 hive快速入门
本文转至 余子越的博客 文章 hive快速入门,欢迎访问yuchaoshui.com 了解更多信息!文章目录一. hive执行流程二. hive登录三. 内部表四. 外部表4.1 外部表使用方法4.2 外部表场景举例五. 分区表六. 分桶表七. 临时表一. hive执行流程HiveQL 通过命令行或者客户端提交,经过 Compiler 编译器,运用 MetaStore 中的元数 据进行类型检测和语法分析,生成一个逻辑方案(Logical Plan),然后通过优化处理,产生一个 MapReduce 任务
2020-11-24 15:54:16
418
原创 集群内快速同步配置
本文转至 余子越的博客 文章 集群内快速同步配置,欢迎访问yuchaoshui.com 了解更多信息!场景再现在多数集群中,节点的配置必须保持一致,一旦管理节点修改了配置,就需要把配置同步到其他节点,通常情况下是下面这样的,它的缺点是每次都需要写全路径。scp -r /path/conf node1:/path/confscp -r /path/conf node2:/path/confscp -r /path/conf node3:/path/conf解决方法使用 rsync 命令同步
2020-11-22 00:49:40
743
2
原创 Python 函数参数形式
一、位置参数二、默认参数三、可变参数四、关键字参数五、命名关键字参数六、函数参数组合使用七、函数参数类型检查一、位置参数 根据定义的函数的参数位置来判断参数的值。位置参数一旦定义,在调用函数时,就必须传入对应的参数值。def show_info(name, age): print("name: {0}, age: {1}".format(name...
2020-11-22 00:03:46
197
原创 iptables 常用例子总结
本文转至 余子越的博客 ,文章 iptables 常用例子总结,欢迎访问yuchaoshui.com 了解更多信息! 一、基本原理总结1. 常用的几个链2. 常用的几个表3. 常用的几个处理动作4. 常用检查模式5. 开启转发配置二、本机端口到本机端口重定向1. 场景还原2. 细节实现三、公网 IP 到 本地局域网的 IP 映射1. 场景还原2. 细节...
2018-03-10 14:31:51
1954
原创 CentOS6 iptables 学习总结
本文转至 余子越的博客 ,文章 CentOS6 iptables 学习总结,欢迎访问yuchaoshui.com 了解更多信息! 一、简介二、对链的理解三、对表的理解四、数据包传输的过程五、链和表的关系六、四个表(优先级由高到低)七、五个链八、数据包连接的四种状态九、tcp标志位十、五个基本处理动作十一、数据包的模式检查十二、iptables常用命令十三、常...
2018-03-10 14:26:54
661
原创 Python2 Python3 字符编码总结
本文转至 余子越的博客 ,文章 Python2 Python3 字符编码总结,欢迎访问yuchaoshui.com 了解更多信息! 一、编码与解码二、ascii、gb2312、gbk、unicode、utf-81、ascii编码2、gb2312编码3、gbk编码4、unicode编码5、utf-8编码三、数据的存在形式四、Python2 字符编码五、pytho...
2018-03-10 14:17:52
283
原创 Python装饰器的来龙去脉
本文转至 余子越的博客 ,文章 Python 装饰器,欢迎访问yuchaoshui.com 了解更多信息! 一、装饰器二、装饰器实现1. 把函数传递到一个新函数获取2. 更改函数的调用方式3. 使用Python提供的语法糖 @三、双重装饰器四、保留函数元信息五、解除一个装饰器六、有参数的装饰器七、带可选参数的装饰器八、装饰器实现函数参数类型检查九、内置装饰...
2018-03-09 23:25:12
240
原创 Selenium 上手入门
本文转至 余子越的博客 ,文章 Selenium 上手入门,欢迎访问yuchaoshui.com 了解更多信息! 一、简要介绍二、系统环境三、环境搭建四、上手例子1、网页交互2、高效爬虫五、常用API六、文档汇总1、Driver驱动下载地址2、Selenium 文档地址一、简要介绍 Selenium 是一个优秀的web自动化测试工具,利用...
2018-03-09 23:22:00
442
原创 Python 脚本实现 Menu 菜单
本文转至 余子越的博客 ,文章 Python 脚本实现 Menu 菜单,欢迎访问yuchaoshui.com 了解更多信息! 一、说明二、代码一、说明 在操作系统上执行某些脚本时,会有一些 menu 选择菜单, 如果用 Python 来实现,可以尝试用下面的思路试试。二、代码#!/usr/bin/env python# _*_ coding:...
2018-03-09 23:19:38
16135
1
原创 Python logging 日志模块总结
本文转至 余子越的博客 ,文章 Python logging 日志模块总结,欢迎访问yuchaoshui.com 了解更多信息! 一、logging 模块四个概念二、创建日志步骤详细说明1. 创建logger2. 创建handler3. 将handler加入logger4. 在自己应用中使用logger5. 一个完整的日志记录三、 format 可选参数列表四、...
2018-03-09 14:32:11
244
原创 Python 连接 Redis
本文转至 余子越的博客 ,文章 Python 连接 Redis,欢迎访问yuchaoshui.com 了解更多信息! 一、模块安装二、直接连接三、连接池连接四、pipline机制五、编写成模块导入一、模块安装 使用 redis 模块,使用 pip 安装即可pip install redis二、直接连接import redisr ...
2018-03-09 14:27:53
1001
原创 Python 日志模块应用
本文转至 余子越的博客 ,文章 Python 日志模块应用,欢迎访问yuchaoshui.com 了解更多信息! 一、 简单使用一二、 简单使用二三、多进程多线程写日志四、 结尾 总结一、 简单使用一 直接使用 logging 模块,不手动创建logger。#!/usr/bin/env python# _*_ coding:utf-8 _*_im...
2018-03-09 14:25:03
428
原创 Python 连接 MySQL
本文转至 余子越的博客 ,文章 Python 连接 MySQL,欢迎访问yuchaoshui.com 了解更多信息! 一、普通 MySQL 连接方法二、使用连接池连接MySQL三、模块导入连接 MySQL一、普通 MySQL 连接方法 使用模块 MySQLdb 普通方式连接。#!/usr/bin/env python# _*_ coding:utf-...
2018-03-09 10:50:06
465
原创 Python 函数参数形式
本文转至 余子越的博客 ,文章 Python 函数参数形式,欢迎访问yuchaoshui.com 了解更多信息! 一、位置参数二、默认参数三、可变参数四、关键字参数五、命名关键字参数六、函数参数组合使用七、函数参数类型检查一、位置参数 根据定义的函数的参数位置来判断参数的值。位置参数一旦定义,在调用函数时,就必须传入对应的参数值。def sho...
2018-03-09 10:34:58
356
原创 Python 配置文件 ConfigParser 模块
本文转至 余子越的博客 ,文章 Python 配置文件 ConfigParser 模块,欢迎访问yuchaoshui.com 了解更多信息! 一、配置文件例子二、主程序文件三、主要配置及使用方法 将程序的配置写到一个统一的配置文件时一个好的做法,ConfigParser 模块给出了很好的方法。a) 配置文件中包含一个或多个 section, 每个 sect...
2017-12-11 14:18:25
2204
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人