Python内置方法干货总结
如果你还在为提升Python代码能力发愁,那么掌握内置方法就是你的捷径!很多初学者和进阶者忽略了这一“宝藏”,其实,Python的内置方法不仅能让你代码更简洁,还能大幅提升开发效率。今天,咱们就来一次系统梳理!
你是否也遇到过这样的困扰:明明逻辑正确,但代码总是又长又乱?为什么那些大佬们写的Python代码总是又短又精炼?秘诀就在于——善用Python内置方法!那么,常见且高效的内置方法究竟有哪些?我们该如何正确应用?
Python内置方法如何简化你的开发?哪些方法是每个程序员必须掌握的?如何用它们写出更优雅的代码?
Python提供了丰富的内置方法(built-in functions),这些方法无需导入任何模块即可直接使用。以下是一些最常用和重要的内置方法分类总结:
基础类型相关
数值处理
- `abs(x)` - 返回绝对值
- `round(number[, ndigits])` - 四舍五入
- `divmod(a, b)` - 返回商和余数的元组
- `pow(x, y[, z])` - 返回x的y次幂(可模z)
- `bin(x)` - 将整数转换为二进制字符串
- `hex(x)` - 将整数转换为十六进制字符串
- `oct(x)` - 将整数转换为八进制字符串
字符处理
- `chr(i)` - 返回Unicode码位为i的字符
- `ord(c)` - 返回字符c的Unicode码位
- `str(object)` - 将对象转换为字符串
集合操作
序列处理
- `len(s)` - 返回对象长度
- `max(iterable, *[, key, default])` - 返回最大值
- `min(iterable, *[, key, default])` - 返回最小值
- `sum(iterable[, start])` - 求和
- `sorted(iterable, *, key=None, reverse=False)` - 返回排序后的列表
- `reversed(seq)` - 返回反向迭代器
- `enumerate(iterable, start=0)` - 返回枚举对象
- `zip(*iterables)` - 聚合多个迭代器
- map() - 批量应用函数
案例
len() - 获取对象长度
场景:计算字符串、列表或字典的元素数量。
代码:
text = "Hello, Python!"
numbers = [1, 2, 3, 4]
data = {"a": 1, "b": 2}
print(len(text)) # 输出: 13
print(len(numbers)) # 输出: 4
print(len(data)) # 输出: 2
说明:len()适用于任何可迭代对象,快速统计长度,常用于循环控制或数据验证。
sorted() - 排序可迭代对象
场景:对列表、元组等进行升序或降序排序。
代码:
numbers = [3, 1, 4, 1, 5]
sorted_numbers = sorted(numbers) # 升序: [1, 1, 3, 4, 5]
reverse_numbers = sorted(numbers, reverse=True) # 降序: [5, 4, 3, 1, 1]
names = ["Bob", "Alice", "Charlie"]
sorted_names = sorted(names, key=len) # 按长度排序: ['Bob', 'Alice', 'Charlie']
说明:sorted()返回新列表,支持自定义key函数(如按长度排序)和reverse参数,适合数据整理。
map() - 批量应用函数
场景:对可迭代对象中的每个元素应用函数。
代码:
numbers = [1, 2, 3, 4]
squared = list(map(lambda x: x**2, numbers)) # [1, 4, 9, 16]
strings = ["apple", "banana"]
upper = list(map(str.upper, strings)) # ['APPLE', 'BANANA']
说明:map()结合lambda或内置函数,高效处理批量操作,比循环更Pythonic。
enumerate() - 同时获取索引和值
场景:遍历列表时需要索引。
代码:
fruits = ["apple", "banana", "orange"]
for index, fruit in enumerate(fruits, start=1):print(f"{index}: {fruit}")
# 输出:
# 1: apple
# 2: banana
# 3: orange
说明:enumerate()避免手动计数,start参数可自定义起始索引。
sum() - 计算总和
场景:求列表或生成器的数值总和。
代码:
numbers = [1, 2, 3, 4]
total = sum(numbers) # 10
weighted = sum(x * 2 for x in numbers) # 20
说明:sum()高效计算总和,支持生成器,减少内存占用。
迭代器/生成器
- `iter(object[, sentinel])` - 返回迭代器对象
- `next(iterator[, default])` - 返回迭代器的下一项
- `range(stop)` / `range(start, stop[, step])` - 生成整数序列
zip() - 并行迭代多个序列
场景:同时遍历多个列表,生成键值对或配对数据。
代码:
names = ["Alice", "Bob"]
scores = [90, 85]
pairs = list(zip(names, scores)) # [('Alice', 90), ('Bob', 85)]
dictionary = dict(zip(names, scores)) # {'Alice': 90, 'Bob': 85}
说明:zip()常用于创建字典或并行处理数据,节省代码且直观。
类型转换
- `int(x[, base])` - 转换为整数
- `float(x)` - 转换为浮点数
- `bool(x)` - 转换为布尔值
- `list(iterable)` - 转换为列表
- `tuple(iterable)` - 转换为元组
- `set(iterable)` - 转换为集合
- str.join() - 拼接字符串
- `dict(**kwarg)` / `dict(mapping, **kwarg)` / `dict(iterable, **kwarg)` - 创建字典
str.join() - 拼接字符串
场景:将列表元素拼接为字符串。
代码:
words = ["Hello", "Python", "World"]
sentence = " ".join(words) # "Hello Python World"
csv = ",".join(map(str, [1, 2, 3])) # "1,2,3"
说明:join()比字符串拼接(如+)更高效,适合生成CSV或文本。
输入输出
- `print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)` - 打印输出
- `input([prompt])` - 获取用户输入
对象操作
- `id(object)` - 返回对象标识值(内存地址)
- `type(object)` - 返回对象类型
- `isinstance(object, classinfo)` - 检查对象是否是类的实例
- `issubclass(class, classinfo)` - 检查类是否是另一个类的子类
- `hasattr(object, name)` - 检查对象是否有属性
- `getattr(object, name[, default])` - 获取对象属性
- `setattr(object, name, value)` - 设置对象属性
- `delattr(object, name)` - 删除对象属性
- `dir([object])` - 返回对象的属性列表
- `vars([object])` - 返回对象的__dict__属性
- `callable(object)` - 检查对象是否可调用
isinstance() - 类型检查
场景:验证对象类型,确保代码健壮性。
代码:
value = "123"
if isinstance(value, (int, float)):print("Numeric value")
else:print("Non-numeric") # 输出: Non-numeric
说明:isinstance()支持多类型检查,常用于输入验证。
函数式编程
- `map(function, iterable, ...)` - 应用函数到每个元素
- `filter(function, iterable)` - 过滤元素
- `reduce(function, iterable[, initializer])` - 累积计算(需从functools导入)
- `lambda` - 创建匿名函数
filter() - 筛选符合条件的元素
场景:从可迭代对象中提取满足条件的元素。
代码:
numbers = [1, 2, 3, 4, 5]
evens = list(filter(lambda x: x % 2 == 0, numbers)) # [2, 4]
说明:filter()结合lambda函数,快速筛选数据,优于循环。
其他实用方法
- `help([object])` - 调用内置帮助系统
- `eval(expression[, globals[, locals]])` - 执行字符串表达式
- `exec(object[, globals[, locals]])` - 执行动态Python代码
- `globals()` - 返回当前全局符号表
- `locals()` - 返回当前局部符号表
- `hash(object)` - 返回对象的哈希值
- `memoryview(object)` - 返回内存视图对象
- `staticmethod(function)` - 将方法转换为静态方法
- `classmethod(function)` - 将方法转换为类方法
- `property(fget=None, fset=None, fdel=None, doc=None)` - 创建属性
- `super([type[, object-or-type]])` - 调用父类方法
- any() / all() - 逻辑判断
- `open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)` - 打开文件
any() / all() - 逻辑判断
场景:检查可迭代对象是否满足条件。
代码:
numbers = [1, -2, 3, -4]
has_positive = any(x > 0 for x in numbers) # True
all_positive = all(x > 0 for x in numbers) # False
说明:any()检查至少一个元素为真,all()要求所有元素为真,适合快速验证条件。
注意事项
1. 这些内置方法都是Python解释器直接提供的,无需导入
2. 部分方法(如`max`, `min`, `sorted`)可以接受key函数来自定义排序/比较逻辑
3. 使用`eval`和`exec`时要格外小心,可能带来安全风险
4. Python3中许多内置方法返回的是迭代器而非列表(如`map`, `filter`, `zip`等)
社会 phenomenon分析
Python的普及使其成为数据科学、AI和Web开发的支柱语言。根据Stack Overflow 2024开发者调查, Python是全球最受欢迎的编程语言之一,其内置方法的简单性和强大性是关键原因。开发者社区(如Reddit的r/Python)讨论显示,内置方法如map()、zip()和enumerate()极大提高了代码效率,减少了重复劳动。
在企业场景中,内置方法广泛应用于数据处理(如pandas结合map())和自动化脚本(如os模块与join())。开源项目的兴起进一步凸显了代码简洁性的重要性,GitHub上的Python库(如numpy) 常利用内置方法优化性能。这些方法不仅是技术工具,还代表了Pythonic的编程哲学——简洁、优雅、高效。
掌握这些内置方法可以大大提高Python编程效率和代码简洁性。
总结
在如今AI和大数据加速发展的时代,代码质量与开发速度变得前所未有的重要。越来越多的企业在招聘Python开发时,特别看重应聘者对基础能力的掌握,比如内置方法的熟练运用。这不仅是技术实力的体现,更是对工程思维的考验。
Python内置方法是开发者手中的“魔法棒”,从len()到zip(),它们简化了复杂任务,让代码更简洁、优雅。掌握这些方法,不仅提升开发效率,还让你更贴近Python的哲学——用最少代码实现最大价值。无论是数据分析、Web开发还是自动化脚本,这些内置方法都是你的得力助手。拥抱它们,你的编程之路将更加顺畅,效率一飞冲天!
基础不牢,地动山摇;内置方法,是写出大师级代码的第一步。
内置方法,Python之魂——简洁代码,效率无穷!
相关文章:
Python内置方法干货总结
如果你还在为提升Python代码能力发愁,那么掌握内置方法就是你的捷径!很多初学者和进阶者忽略了这一“宝藏”,其实,Python的内置方法不仅能让你代码更简洁,还能大幅提升开发效率。今天,咱们就来一次系统梳理…...
小草GrassRouter多卡聚合路由器聚合卫星、MESH网络应用解决方案
一、多网融合解决方案 卫星网络融合 支持接入卫星通信模块,在无地面网络覆盖的极端场景(如偏远山区、海洋救援)下,形成“5G卫星”双链路冗余传输,卫星链路可作为核心通信备份,确保关键指令和视频数据实…...
Spring反射机制
Spring反射机制 反射机制是加载类时,在运行时动态地获取类的信息,并且可以操作类或对象的属性、方法、构造函数等成员的能力。在 Java 里,反射机制的实现主要依赖于 java.lang.reflect 包下的多个类,以及 java.lang 包中的 Class…...
PCB硬件电路设计_pcb布线设计
1.MCU最小系统电路 这些电路都会非常接近MCU,他们的可靠性决定了MCU能否正常工作。 外围电路,为了布线整齐美观,尽量避免打过多的通孔。在布局的时候走线的顺序和元器件顺序尽可能的保持一直避免走线交叉。 2.晶振电路布线 一般情况下我们…...
Qt开发:XML文件的写入与读取
文章目录 一、使用 QDomDocument操作节点1.1 将信息写入XML文件中1.2.从XML文件中读取信息 二、使用 QXmlStreamWriter操作节点2.1 将信息写入XML文件中2.2 从XML文件中读取信息 三、总结 一、使用 QDomDocument操作节点 1.1 将信息写入XML文件中 #include <QDomDocument&…...
PCI/PXI 总线的可编程电阻卡
701X 系列是阿尔泰科技基于 PCI/PXI 总线的可编程电阻卡,多种电阻范围可选,稳定性好;准确 度低至 0.2%;分辨率设置精细,可低至 0.125Ω,适用于传感器仿真应用。 701X 系列高精度程控电阻模块具有高设置分辨…...
火语言RPA--腾讯云存储
【组件功能】:存储本地文件至腾讯云 选择本地文件,通过腾讯云存储配置上传至腾讯云对象存储的指定地域指定存储桶指定路径。 配置预览 配置说明 SecretId 支持T或# 前往官网获取或创建。参考链接:https://console.cloud.tencent.com/cam/…...
使用POI和EasyExcel使用导入
1.使用POI导入 1.1导入依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version></dependency> 1.2创建工具类 package com.ruoyi.common.utils.poi;import org.ap…...
AWS PrivateLink vs Lattice:深度解析两大网络服务的异同
导语: 在AWS的网络服务生态中,PrivateLink和Lattice都是备受关注的解决方案。本文将深入探讨这两项服务的核心特性、应用场景以及它们之间的关键区别,帮助您在复杂的网络架构设计中做出明智的选择。 一、AWS PrivateLink 概述 定义 AWS PrivateLink 是一种网络服务,允许您…...
Linux系统编程---exec簇:进程的加载与替换
1、exec簇基础 在Linux中,用于加载并执行指定程序的API有exec簇和system函数。 exec簇的进程替换不会创建一个新的进程,只是加载新的程序代码和数据,替换当前进程执行的程序代码。 system函数的进程替换是创建一个新的子进程,然后…...
C++ 之 【模拟实现 list(节点、迭代器、常见接口)】(将三个模板放在同一个命名空间就实现 list 啦)
1.前提准备 (1) list 的底层结构一般是带头双向循环链表 (1)为避免命名冲突,需要创建一个命名空间来存放模拟实现的 list (2)下面模拟实现list时,声明和定义不分离(具体原因后续讲解) 2.完整实现 2.1 链表节点 template<class T>//节点写成类模板…...
数字图像处理 -- 眼底图像血管分割方法
算法框架 基于深度学习的 U-Net 架构,结合注意力机制(Attention Gate)与多尺度特征提取,以提高细小血管的检测能力。整体流程如下: 输入图像预处理:提取绿色通道 & CLAHE 增强数据增强:旋…...
基于ffmpeg的音视频编码
1 音频编码 本质上是由pcm文件转到一个协议文件 比如说aac协议 1.1 音频基本知识回归 比特率 比特率是指单位时间内传输或处理的比特(bit)数量,通常用 bps(bits per second,比特每秒)来表示。它是衡量数…...
Android wifi开发调试总结
Android wifi开发调试简单总结 文章目录 Android wifi开发调试简单总结一、前言二、wifi demo开发1、开关和连接2、wifi开启主要流程3 、wifi主要广播4、相关日志5、demo示例 三、其他1、Wifi开发小结2、其他wifi知识小结(1)Android无线Wifi开发…...
LLVIP、KAIST、M3FD数据集
LLVIP、KAIST、M3FD数据集 (可见光红外,双模态数据集,已配准已对齐已清洗,已处理为txt格式,YOLO可直接训练) 电子产品,一经出售,概不退换 算法设计、毕业设计、期刊专利!…...
datasets 数据处理封装后,统一处理流程以避免Dataset Map顺序依赖问题
文章目录 处理流程说明小结 在实际项目中,我们常常需要对数据集进行预处理。为了规范操作,我封装了一个基础数据集处理类: class DatasetAbstract:"""所有数据集都应包含以下几个字段:* question:用户…...
【学习笔记】机器学习(Machine Learning) | 第四章(3)| 多变量线性回归
机器学习(Machine Learning) 简要声明 基于吴恩达教授(Andrew Ng)课程视频 BiliBili课程资源 文章目录 机器学习(Machine Learning)简要声明 三、特征工程与多项式回归(一)特征工程:从数据中发…...
将本地Springboot项目部署到Linux服务器
1、打包后端项目 在IDEA的终端上执行命令 mvn clean package "-Dmaven.test.skiptrue" 在target目录下查看jar包是否存在 2、idea运行jar包(可选) 在IDEA的终端上执行命令 # 进入jar包所在目录 E:\LzpWorkspaces\lzp-records> cd .\tar…...
无人设备遥控器之实时数据保护技术篇
无人设备遥控器的实时数据保护技术是保障设备安全运行、避免信息泄露或恶意干扰的核心手段,其核心目标是在复杂电磁环境和网络攻击威胁下,确保指令传输的完整性、保密性和抗干扰性。 一、技术实现路径 链路层加密与认证 动态密钥协商:采用…...
【优秀三方库研读】【性能优化点滴】odygrd/quill 解决伪共享
一、伪共享(False Sharing)问题本质 当不同CPU核心频繁修改**同一缓存行(Cache Line)**中的不同变量时,会导致严重的性能下降。现代CPU的缓存系统以缓存行(通常64字节)为单位操作内存ÿ…...
JavaScript性能优化实战(6):网络请求与资源加载优化
引言 在现代Web应用开发中,网络性能已成为影响用户体验的关键因素。据统计,用户等待页面加载的耐心通常不超过3秒,超过这个时间,约40%的用户会选择离开。此外,Google的研究表明,页面加载时间每增加0.5秒,流量就会下降约20%。因此,优化网络请求和资源加载不仅关乎用户体…...
re题(49)BUUCTF-crackMe
BUUCTF在线评测 int wmain() {FILE *v0; // eaxFILE *v1; // eaxchar v3; // [esp3h] [ebp-405h]char v4[256]; // [esp4h] [ebp-404h] BYREFchar Format[256]; // [esp104h] [ebp-304h] BYREFchar v6[256]; // [esp204h] [ebp-204h] BYREFchar v7[256]; // [esp304h] [ebp-10…...
Python中的单例模式:深入探索元类与装饰器实现
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 单例模式(Singleton Pattern)是设计模式中的一种重要模式,确保一个类在整个应用中只有一个实例,并且提供全局访问点。Python语言作为一…...
深入解析 Babylon.js 中的 TransformNode.lookAt 方法
在 3D 开发中,控制对象朝向是一个基础但关键的需求。Babylon.js 作为一款强大的 Web3D 引擎,提供了 TransformNode.lookAt 方法来实现这一功能。本文将全面解析这个方法的使用技巧、参数含义以及常见应用场景。 方法基础 TransformNode.lookAt 的基本签…...
SpringCloud组件——Gateway
一.网关 1.问题提出 我们通过Eureka,Nacos解决了服务注册,服务发现的问题,使用SpringCloud LoadBalance解决了负载均衡的问题,使用OpenFeign解决了远程调用的问题。 但是当前所有微服务的接口都是直接对外暴露的,可…...
Boost 库安装 (windows 11)
Boost 库安装 (windows 11 1 下载2 生成3 使用 1 下载 下载地址:https://www.boost.org/ 有的时候会需要历史版本下载: https://www.boost.org/users/history/ 2 生成 1、解压后点击 bootstrap.bat,会生成可执行程序b2.exe 2、双击运行b2.…...
lmms-eval--微调实战笔记
lmms-eval--大模型调用平台,方便新手上手大模型微调 lmms-eval的更多用法,没有mathversehttps://github.com/EleutherAI/lm-evaluation-harness.git 单卡运行,模型gpt-j-6B,数据集hellaswag git clone --depth 1 https://github.com/Eleuthe…...
序列密码算法ShanLooog512设计原理详解
序列密码算法ShanLooog512设计原理详解 ShanLooog512(闪龙512)为序列密码算法,内部状态为512比特,密钥长度为128或256比特,轮函数为FFFFFFFF,循环轮数为24轮,输出密钥流为512比特的状态。与Salsa20类似,内…...
Matplotlib可视化基础
1. 折线图 matplotlib.pyplot.plot() # 主要参数: x,y -- 接收array,表示X轴和Y轴对应的数据,无默认 color -- 接收特定string,指定线条的颜色,默认为None linestyle -- 接收特定string,指定线条的类型…...
Linux 内核网络协议栈中的关键数据结构:inet_skb_parm 与 ip_options
在 Linux 内核的网络协议栈中,数据包的高效处理依赖于一系列精心设计的数据结构。这些结构体不仅需要存储网络数据的元信息,还需支持复杂的协议逻辑(如路由、分片、安全策略等)。本文聚焦两个核心结构体 struct inet_skb_parm 和 struct ip_options,解析它们的设计原理、功…...
oracle 数据库查询指定用户下每个表占用空间的大小,倒序显示
oracle 查询指定用户下每个表占用空间的大小,倒序显示 使用场景:数据分析;导出医院正式库到开发环境时,查询出占用表空间高的业务表、导出时排除该表 在Oracle数据库中,要查询指定用户下每个表占用空间的大小并以倒序…...
Missashe考研日记-day29
Missashe考研日记-day29 1 专业课408 学习时间:3h学习内容: 今天先是把虚拟存储剩余的课听完了,然后就是做课后选择题,57道,已经接受了OS课后题尤其多的事实了。解决并且理解完习题之后就开始预习文件管理的内容&…...
【AI】【MCP】搭建私人王炸MCP自动化工作流
目录 一、什么是MCP 二、MCP大集合 三、准备工作 3.1 安装node.js 3.2 安装vscode 3.3 安装cline插件 3.3.1 安装 3.3.2 配置Cline 四、配置MCP服务 4.1 Search-mcp服务 4.2 playwright-mcp 服务 前言:梦想组合,轻松办公,告别手动&a…...
多元函数微分之传统方法和全微分法
一、传统方法 使用链式法则,先对中间变量(如 u,v)求偏导,再乘以中间变量对最终变量(如 x,y)的偏导。 二、全微分法 基于全微分形式不变性,直接对 zf(u,v) 求全微分 dz,再代入 du 和…...
新手SEO基础优化全解析
内容概要 对于刚接触SEO的新手而言,系统化理解优化逻辑是避免无效操作的关键。本文将从基础概念入手,逐步拆解搜索引擎排名的影响要素,围绕关键词分析、技术优化、内容策略三大核心模块,提供可落地的操作框架。通过结合工具使用说…...
MATLAB退火算法和遗传算法解决旅行商问题
模拟退火算法和遗传算法都是常用于解决旅行商问题(TSP)的优化算法,它们在原理、搜索方式、收敛速度和适用场景等方面存在一些区别: 原理 模拟退火算法:模拟退火算法的灵感来源于固体退火原理。固体在加热后缓慢冷却时…...
喜马拉雅卖身腾讯音乐:在线音频独立时代的终结
坦白说,这条消息一出来,喜马拉雅被卖掉不太奇怪,但是腾讯音乐会收购,还是有点意外。 喜马拉雅之前一度被称为中国版Audible平台,在过去几年里,活生生地把一手好牌打得稀烂。如今走到“卖身”这一步,既是无奈,也是必然。 简单回顾一下背景: 2012年,喜马拉雅成立,一…...
简单理解https与http
都是超文本传输协议,一个安全一个不安全,名字长的安全,名字短的不安全。 安全与不安全是居于什么分别的? 通过加密 http无加密。 httpshttp SSL/TSL(加密)来保障数据安全。加密传输 身份验证 SSL/TLS…...
打造即插即用的企业级云原生平台——KubeSphere 4.1 扩展组件在生产环境的价值全解
目录 打造即插即用的企业级云原生平台——KubeSphere 4.1 扩展组件在生产环境的价值全解 1. 可观测体系:WhizardTelemetry 全家桶 2. 平台与多集群治理 3. CI/CD 与交付效率 4. 网络与流量入口 5. 安全与合规 6. 存储与数据保护 7. 平台集成优势 结语 打造…...
配置扩展ACL
1.扩展ACL简介: 扩展ACL可以更精确地控制基于源IP地址、目标IP地址、协议类型和端口号的流量。 2.配置背景: 为了实现公司内部只能使用FTP服务器传输文件并关闭其他所有服务和端口的需求,可以通过配置访问控制列表(ACL…...
根据用户出生日期计算年龄
public static int calculateAgeFromDate(Date birthDate) { // 将 Date 转换为 LocalDate(默认时区) LocalDate birthLocalDate birthDate.toInstant() .atZone(ZoneId.systemDefault()) .toLocalDate(); // 获取当前日期LocalDate currentDate Local…...
测试基础笔记第十五天
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、集合1.集合的定义二、使用集合列表去重 导包二、函数1.函数介绍2.定义函数3.调用函数4.函数实现登录案例5.函数的返回值 三、模块和包1.模块的概念(Module)2.模…...
【专题四】前缀和(3)
📝前言说明: 本专栏主要记录本人的基础算法学习以及LeetCode刷题记录,按专题划分每题主要记录:(1)本人解法 本人屎山代码;(2)优质解法 优质代码;ÿ…...
STM32 USB配置详解
STM32 USB配置详解 一、USB基础概念 1.1 USB简介 USB (Universal Serial Bus) 是一种用于计算机与外部设备连接的串行总线标准,具有热插拔、即插即用等特点。STM32微控制器内置了多种USB接口,可实现各类USB应用。 1.2 USB速度等级 Low Speed (LS): …...
2025年Mapbox零基础入门教程(1)地图初始化
什么是mapbox? mapbox是一个地图框架,不仅提供前端渲染能力,还具备后端服务接口能力。 相较于openlayers,它可构建二维和三维地图,并支持优化导航路线和位置查询等功能。 开发中使用mapbox需引入库文件并设置token&…...
课外知识:你需要了解的Python类对象里面的__getattr__方法
你需要了解的Python类对象中的__getattr__方法 一、__getattr__基础概念 1. 方法定义 def __getattr__(self, name: str) -> Any:"""当访问不存在的属性时触发"""2. 核心特性 动态属性处理:拦截未定义的属性访问按需触发&…...
openGauss新特性 | DataKit支持PostgreSQL到openGauss的迁移能力
Postgresql-\>openGauss迁移工具debezium-connector-postgres 可获得性 本特性自openGauss 7.0.0-RC1版本开始引入。 特性简介 debezium-connector-postgres工具是一个基于Java语言的Postgresql到openGauss的复制工具。该工具提供了初始全量数据及对象(视图、…...
【前端】跟进新趋势- PWA WebAssembly
不定期更新及补充实战。建议关注收藏点赞。 目录 PWA(渐进式 Web 应用,Progressive Web App)WebAssembly(WASM) PWA(渐进式 Web 应用,Progressive Web App) PWA 是一种提升 Web 应用…...
C++学习:六个月从基础到就业——模板编程:SFINAE原则
C学习:六个月从基础到就业——模板编程:SFINAE原则 本文是我C学习之旅系列的第三十六篇技术文章,也是第二阶段"C进阶特性"的第十四篇,主要介绍C模板编程中的SFINAE原则。查看完整系列目录了解更多内容。 目录 C学习之…...
完美解决.NET Framework 4.0 中 System.Drawing 库不支持 WebP 格式的图像处理
如果你想在 .NET Framework 4.0 中使用 ImageMagick 处理图片,可以通过 Magick.NET 库来实现。Magick.NET 是 ImageMagick 的 .NET 封装,可以用来读取、写入、编辑图像。 以下是如何使用 Magick.NET 来处理图像并提取图像的宽度和高度。 步骤ÿ…...