- 博客(29)
- 收藏
- 关注
原创 python工程师学习路径
Python工程师学习路径L1:Python实习工程师(能找到工作的水平)介绍:本阶段涉及Python基础、数据库、Linux基础等课程,是开发人员的基本功。通用基础Python基础学习目标:1. 掌握Python基础语法, 具备基础的编程能力;2. 建立起编程思维以及面向对象程序设计思想。开发工具:anaconda、pycharm基础语法条件控制语句和循环语句Python的多元数据类型函数文件操作异常处理错误与调试单元测试模块和包,标准库和第三方库面向对象函数高级
2021-11-11 17:04:08
3395
原创 python引用计数的增加和减少
变动方向本质原因典型场景举例增加新增「普通引用」指向对象变量绑定、属性赋值、容器添加元素减少移除「普通引用」指向对象删除变量、属性删除、容器移除元素不变无普通引用的新增/移除弱引用操作、属性访问、遍历容器判断操作是否会新增或移除“能维持对象存活的普通引用”——只要涉及普通引用的变化,引用计数就会随之变动;反之则不变。当引用计数降至 0 时,对象会被立即回收(仅考虑引用计数机制,不考虑分代回收)。
2025-09-24 20:29:19
574
原创 Python运行机制:17个原子节点全解析
解释器模块将源码转换为字节码,通过词法分析、语法分析、编译和缓存四个阶段,完成从人类可读代码到虚拟机指令的转换。虚拟机模块执行字节码,通过指令读取、指令执行、操作数栈、执行帧管理和异常处理,实现指令的逐条执行和流程控制。内存管理器模块负责对象的全生命周期管理,通过内存池优化分配、引用计数实时回收、循环引用检测和分代回收,自动管理内存资源。运行时状态管理器模块维护全局执行环境,通过GIL确保线程安全、线程状态管理实现上下文隔离、模块缓存提高导入效率、内置资源提供核心功能。
2025-09-18 15:04:18
1053
原创 深度拆解 Python 类装饰器参数传递:从装饰器生效到参数转交的每一步
步骤1:外层函数接收用户传入的配置参数,保存参数;步骤2:外层函数返回内层装饰器decorator,完成配置参数的“传递桥梁”搭建;步骤3:Python 解释器自动将被装饰类Order传入decoratorcls=Order。步骤1触发,创建装饰器实例,__init__接收配置参数并保存;步骤2:装饰器实例返回,语法将其绑定到被装饰类Order;步骤3:调用装饰器实例(绑定Order),__call__接收cls=Order。
2025-09-17 11:11:16
1089
原创 深度拆解 Python 装饰器参数传递:从装饰器生效到参数转交的每一步
本文深入解析了Python装饰器中参数传递的完整过程。通过一个包含多种参数类型的装饰器示例,将参数传递拆解为四个关键阶段:1)装饰器生效时替换原函数引用;2)调用被装饰函数时实际触发装饰器内层函数;3)内层函数通过args/**kwargs捕获所有参数;4)将捕获的参数解包并转交给原函数。文章特别强调了@语法糖的即时执行特性,以及和**操作符在参数打包与解包中的双重作用,揭示了装饰器参数传递的底层机制。
2025-09-12 17:57:24
1000
原创 魔术方法:__init__
本文深入解析Python中__init__方法的本质与使用细节,主要包含以下要点: __init__并非构造函数,而是初始化方法。实例创建由__new__完成,__init__负责初始化已存在的实例对象。实验证明__new__执行早于__init__。 self参数本质是当前实例的引用,非Python关键字。虽可更名但强烈建议保留约定用法,因其与实例变量指向同一内存地址。 属性绑定机制:在__init__中通过self.属性名动态绑定,支持外部参数、默认值或动态计算值。实例属性会覆盖同名类属性,但不影响类属
2025-09-09 17:50:06
765
原创 Python 中的魔术方法
统一接口:让自定义类的行为与内置类型(如列表、字典)保持一致(如len(obj)灵活定制:通过重载运算符、属性访问、迭代逻辑等,实现高度定制化的类(如单例、自定义容器、上下文管理器);隐式调用:无需显式调用,由 Python 解释器自动触发,简化代码。实际开发中,无需记忆所有魔术方法,而是根据需求选择(如实现with用__enter____exit__,实现迭代用__iter____next__),并遵循“最小必要”原则——仅实现需要的魔术方法,避免过度复杂。
2025-09-09 14:00:19
1171
原创 字母异位词分组-49
输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。是由重新排列源单词的所有字母得到的一个新单词。
2024-10-15 11:40:41
339
1
原创 Linux 三剑客之 sed
`sed` 是一个流编辑器,用于对文本进行基本的转换和处理。以下是 `sed` 命令的所有选项及其功能的详细说明,并附带示例和注释:
2024-07-26 15:57:27
273
原创 Linux 三剑客之 awk
`awk` 是一个强大的文本处理工具,可以用于模式扫描和处理。以下是 `awk` 命令的所有选项及其功能的详细说明,并附带示例和注释:
2024-07-26 15:53:42
423
原创 python字典的用法
Python 中,字典(dict)是用于存储键值对的数据结构,提供了丰富的操作功能。以下是对字典的增、删、改、查和遍历操作的总结
2024-07-12 11:02:29
1160
原创 深入了解 Spring Boot:为 Code Diff 做好准备
本文深入探讨了新手在使用 Spring Boot 进行开发和进行 Code Diff 之前需要了解的关键知识。首先介绍了 Spring Boot 的基本概念、特点和优势,包括自动配置、起步依赖等核心原理。然后详细介绍了 Spring Boot 中常用的关键组件,如 Spring MVC、Spring Data 和 Spring Security,并解释了它们在应用程序开发中的作用。接着,本文介绍了 Spring Boot 的开发工具,如 DevTools 和 Actuator,以及在进行 Code Diff
2024-05-31 17:34:35
812
1
原创 考信息系统项目管理师,这一张图就够了
一、十大知识领域项目整合管理、项目范围管理、项目时间管理、项目成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目干系人管理、项目风险管理、项目采购管理二、五大过程组启动过程组、规划过程组、执行过程组、监控过程组、收尾过程组
2023-02-14 15:01:06
669
原创 python常用技巧之文件操作
为什么要使用python处理文件?文件处理管理:1、可视化/手动化学习成本低、处理数量有限2、编程化/自动化有一定的学习成本、可以基于逻辑处理python处理文件的常用命令相对路径被操作的文件相对你当前运行的程序来说的路径叫相对路径绝对路径文件在计算机中绝对的路径或者说位置叫绝对路径python处理文件的常用命令python文件处理的三个常用库:import os 查、改import shutil 复制、剪切import zipfile 打包、压缩python处理文
2021-11-22 23:21:55
479
原创 python常用技巧之正则表达式
正则表达式有没有这么一种感觉,正则表达式即便说中文你好像都没有明白是啥意思?正则 = 正确的规则 regular表达式 = 既定规则 expression正则表达式 = 按照正确的既定规则 re正则表达式是一个全语言类型python、java、javascript通用的表达式用途:根据规则抓取数据根据规则验证数据如何在python中使用正则表达式在python中正则表达式的1个模块+2个方法必学re模块 import re (re= regularexpression)re方法一 根
2021-11-20 23:28:44
804
1
原创 如何用python生成数据(下)
什么是迭代器和生成器可迭代对象 :可迭代对象并不是指某一个数据类型,而是特指存储了元素的一个容器对象。这里的容器对象可以具象为:列表、字典、元组、字符串、range都算是一个“容器”可迭代对象的内部数据“所见即所得”,可迭代的数据是已经看的见的数据了通俗的说:常规的可迭代对象是一口气给你所有的数据无论你是否需要,他总是要给你他已经拿到的所有随着迭代对象数据的增加消耗巨大资源a = [1,2,3,4,5…]迭代器:首先迭代器肯定是一个可迭代对象迭代器拥有迭代对象的所有特征迭代器同时拥有 i.
2021-11-19 23:14:31
658
原创 如何用python生成数据(上)
1. 什么是列表推导式列表推导式又称推导列表,听着很高大上但是平易近人的一个python知识点。这又是python的骚操作,又是一个“一行君”列表推导式是以列表为载体,以推导的方式将数据生成并放在列表中。推导即规则,它支持for循环和筛选模式(if判断模式)。通俗易懂的说法:设定一个既定规则在列表中进行数据生成,列表推导式比传统方法更为简洁,代价是放弃一部分的可读性请注意!列表推导式并非不可代替的写法,用“笨”办法一样可以完成2. 如何声明列表推导式最简单的列表推导式:列表结构作为一个承载
2021-11-18 22:33:20
1429
原创 python的异常处理与调试
1. 程序里的bug一切影响程序执行或影响程序结果的都可以被视为bug直接的语法错误:编程语法错误直接导致的程序终止(例如:使用中文括弧,命令拼写错误)由数据导致的程序终止(例如:列表取值,修改元组,数据类型) 程序的结果错误:没有任何语法错误,但是结果未达到预期 编程中/程序中报错是一种福利,不报错的bug往往是最麻烦的。2. 常见的基础语法错误最常见,没有之一的"非法"字符错误数据类型操作错误(非同类项操作)语法直接错误,特别注意。这个报错的行号不一定是错误的行属性问题,这个
2021-11-17 22:21:37
643
原创 python库
1. 什么是库、包和模块那么到底这三者是什么关系?1、库library这个概念并非python里的概念,是从c语言过来的。那么为什么大家都这么叫?主要原因库这个概念其实就是一堆代码一起完成一个或多个任务。非常类似函数,但是是以文件组织在一起2、模块module这个概念就是python里的概念了,一个模块就是一个py文件,然后包含很多行代码执行一个或多个任务。不难看出库约等于模块3、懂了上边两个东西,那么包就这么简单了。含多个模块的“目录”为包package,通俗的说包是一个一类功能模块的组织者2
2021-11-16 22:53:47
1580
原创 python的函数与方法(下)
装饰器什么是装饰器?装饰器顾名思义,一个可以起到装饰作用的工具装饰器是谁?装饰器本质还是一个函数,是一个嵌套的函数(闭包)装饰器装饰谁?装饰器(函数)是对现有函数功能的一个补充或增加,它可以更快速、更清晰、大批量的为函数增加功能,让代码更简单更易懂,再不变更原有函数代码的情况下为现有函数功能进行增强关于函数闭包的概念什么是闭包?必须有一个嵌套函数(一个函数在另一个函数中)这个嵌套函数(内函数)必须引用外部函数的变量封闭函数必须返回嵌套函数 def outer_func
2021-11-15 23:27:30
638
原创 python的函数和方法(中)
匿名函数什么是匿名函数lambda是个匿名函数,也是一个表达式,是函数的最小作战单元匿名函数顾名思义,就是“无名”函数匿名函数适用于简单的业务逻辑一行一个函数通俗的说逻辑不复杂,不需要大规模批量调用的功能可使用匿名函数构建,匿名函数的书写特性决定其简易性#lambda简约而不简单注意lambda是 python的一个关键字,用于声明一个匿名函数**匿名函数的难点不在于其构建本身,在于其组合使用的难度!如何声明/调用一个匿名函数(lambda)#传统函数:def add(n
2021-11-14 22:55:55
609
原创 python的函数与方法(上)
函数什么是函数/方法1、函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码块2、函数能提高应用的模块性,和代码的重复利用率。比如我们天天使用的函数print(),这个就是函数(一个python的内置函数)。但你也可以自己在创建函数,这被叫做用户自定义函数通俗易懂的说:把一堆零散的代码放在一起并组织起来完成一个特定任务为什么需要函数1、载体函数编程模式,让电脑的运算/逻辑一函数的方式进行呈现2、组织函数将原有零散的代码根据功能进行组织3、复用对高频次使用的代码段(功
2021-11-13 19:51:22
548
原创 python的多元数据类型(下)
元组什么是元组tuple元组tuple像是一个list,但是它内部的值不可被修改。元组是一个有序的、不可变数据结构/类型注意列表和元组之间一个有趣的关系:列表 >> 元组 为加锁元组 >> 列表 为解锁支持元组和列表互相转换元组是一个保险柜,数据进入就是安全的列表和元组的对比:为什么需要有元组?1、元组tuple对于大型数据处理速度优于列表list,如果你有一个常量集需要经常遍历(for),那么元组的效率优于列表 2、元组tuple由于其无法“
2021-11-12 22:46:24
612
原创 python的多元数据类型(上)
什么是列表list列表是python中最基本的数据结构,列表中的每个元素都分配一个数字——即当前数据的位置,或索引,第一个索引是0第二个索引是1,依次类推*列表是个“筐”什么也可以往里装。数据一多了就形成了结构。列表list是数据集合的一种形式#列表是一个有序的、可变的数据结构/类型声明一个列表list方法一: 空值创建 list_data = list()方法二: 空值创建 list_data = [ ]列表之间使用 , 分隔 ,头尾使用方括弧 [ ]列表的语法规则 [“中国”,‘S
2021-11-11 21:19:37
1155
原创 python的逻辑与循环
**程序的逻辑:**一个让计算机按照既定计划或规则执行的流程即程序的逻辑逻辑是程序的基石程序逻辑的组成:逻辑语句与逻辑运算构成了程序的逻辑如何构建逻辑判断if(逻辑运算-条件):(代码块)elif(逻辑运算-条件):(代码块)else:(代码块)chengji = 30if (chengji >= 90): print("成绩优秀")elif(chengji >= 60): print("成绩及格")else: print("成绩不及格")`程序
2021-11-10 22:20:13
416
原创 python中的变量
变量:一个由程序员或用户定义的量且在程序中可能发生改变的量#变量是所有程序的起点变量的分类:不可变型:无法对变量内的某一个单一元素进行修改、增加、删除字符串 - str - string - “变量”整数 - int - integer - 100浮点 - float - float - 3.111 1.0元组 - tuple - tuple - (1,2,“a”,“好”)可变型:可以对变量内的某一个单一或多个元素进行修改、增加、删除 字典 - dict - dictionary - {"
2021-11-09 09:29:03
435
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅