【python】基础知识点100问
以下是Python基础语法知识的30条要点整理,涵盖数据类型、函数、控制结构等核心内容,结合最新资料归纳总结:
基础30问
一、函数特性
-
函数多返回值
支持用逗号分隔返回多个值,自动打包为元组,接收时可解包到多个变量def func(): return 1, "a" x, y = func()
-
匿名函数lambda
单行临时函数,适用于简单逻辑,如lambda x: x*2
-
参数传递方式
包括位置参数、关键字参数、默认参数、可变长参数(*args收集为元组,**kwargs收集为字典) -
全局变量修改
函数内修改全局变量需用global
声明 -
函数文档字符串
使用三重引号定义,可通过__doc__
属性访问,IDE悬停显示说明
二、数据类型与操作
-
动态类型语言
变量无需声明类型,赋值时自动推断 -
字符串格式化方法
f-string(f"{name} is {age}"
)、format()函数及%占位符 -
列表推导式
快速生成列表,如[x**2 for x in range(10) if x%2==0]
-
字典推导式
{k:v for k,v in zip(keys, values)}
-
集合去重与运算
支持交集(&)、并集(|)、差集(-)、对称差集(^) -
可变与不可变类型
不可变:数字、字符串、元组;可变:列表、字典、集合
三、控制结构
-
连续条件判断
if 10 <= x <= 20
等效于x >=10 and x <=20
-
三元表达式
简化条件赋值:result = a if condition else b
-
循环中的else
for/while循环正常结束(非break中断)时执行else块 -
enumerate遍历索引
同时获取元素和下标:for idx, val in enumerate(lst)
-
zip并行迭代
多列表同步遍历:for a, b in zip(list1, list2)
四、高级特性
-
上下文管理器
用with open('file') as f
自动处理资源释放 -
生成器函数
使用yield
暂停执行并返回值,支持惰性计算 -
装饰器语法
通过@decorator
修饰函数,扩展功能而不修改原代码 -
类型注解
可选类型提示:def func(name: str) -> int:
五、模块与异常
-
模块导入方式
import module
、from module import func
、import module as alias
-
异常处理结构
try-except-else-finally
四段式处理错误 -
自定义异常
继承Exception类创建特定错误类型
六、代码规范
-
缩进规则
必须用4空格缩进定义代码块(Tab自动转空格) -
注释写法
单行注释用#
,多行用三引号,文档注释遵循PEP257 -
空值处理
None
表示空对象,pd.NA
用于Pandas缺失值 -
代码分多行
反斜杠\
或括号内自然换行(如列表、元组)
七、实用技巧
-
列表与元组的区别
列表可变(增删元素),元组不可变但查询更快 -
字典键的限制
键必须是不可变类型(如字符串、数字、元组) -
海龟绘图库
图形化编程入门:import turtle
绘制几何图形
扩展建议
以上知识点覆盖Python 3.10+核心语法,建议结合具体场景练习(如用集合去重、用生成器处理大数据)。
进阶30问
以下是Python进阶语法知识的30条扩展要点(与前一版无重复),结合Python 3.12特性及工程实践整理:
一、高级面向对象
-
描述符协议
通过__get__
/__set__
方法实现属性托管,常用于ORM框架class Temperature:def __get__(self, obj, objtype): return obj._temp * 1.8 + 32
-
元类编程
使用__metaclass__
控制类创建过程,实现接口验证或自动注册 -
类装饰器
用装饰器修改类结构,如自动添加__repr__
方法 -
动态属性管理
__getattr__
处理未定义属性访问,__setattr__
拦截赋值操作 -
多重继承的MRO
方法解析顺序遵循C3算法,可用ClassName.__mro__
查看继承链
二、内存与性能优化
-
__slots__内存优化
限制类属性数量,减少内存占用(适用于百万级实例场景)class Point:__slots__ = ('x', 'y')
-
生成器表达式
惰性计算大数据集:(x*2 for x in range(10**6))
-
内存视图memoryview
零拷贝处理二进制数据,提升numpy数组处理效率 -
弱引用weakref
创建不阻止垃圾回收的对象引用,适用于缓存场景 -
协程中的yield from
委托子生成器执行,简化嵌套协程代码结构
三、并发与异步
-
GIL机制影响
Global Interpreter Lock导致CPU密集型多线程无效,需用多进程规避 -
async/await语法
协程函数声明与等待,结合asyncio实现高并发IO操作async def fetch():await asyncio.sleep(1)
-
线程池与ProcessPoolExecutor
concurrent.futures模块实现简易并行任务调度 -
协程状态管理
通过inspect.getcoroutinestate()
检测协程运行状态 -
异步上下文管理器
用async with
管理异步资源(如数据库连接池)
四、元编程与反射
-
函数签名检查
inspect模块解析参数:sig = inspect.signature(func)
-
动态代码执行
exec()
执行字符串代码,compile()
预编译代码对象 -
猴子补丁技术
运行时修改类/模块的实现,用于紧急修复或测试mock -
抽象基类(ABC)
abc模块定义接口规范,强制子类实现特定方法 -
类型提示泛型
使用TypeVar
和Generic
创建泛型类/函数T = TypeVar('T') class
相关文章:

【python】基础知识点100问
以下是Python基础语法知识的30条要点整理,涵盖数据类型、函数、控制结构等核心内容,结合最新资料归纳总结: 基础30问 一、函数特性 函数多返回值 支持用逗号分隔返回多个值,自动打包为元组,接收时可解包到多个变量 def func(): return 1, "a" x, y = func()匿…...
uniapp 百家云直播插件打包失败
打包错误日志 Android自有证书 打包失败 错误日志: https://app.liuyingyong.cn/build/errorLog/cf41a610-effe-11ef-88db-05262d4c3e5d原因:需要导入插件依赖 依赖地址:https://ext.dcloud.net.cn/plugin?id16289 百家云直播插件地址 直播插…...

SpringBoot--springboot简述及快速入门
spring Boot是spring提供的一个子项目,用于快速构建spring应用程序 传统方式: 在众多子项目中,spring framework项目为核心子项目,提供了核心的功能,其他的子项目都需要依赖于spring framework,在我们实际…...

vscode_python远程调试_pathMappings配置说明
1.使用说明 vscode python 远程调试pathMappings 配置 launch.json "pathMappings": [{"localRoot": "本地代码目录","remoteRoot": "远程代码目录" # 注意不是运行目录, 是远程代码的目录}],2.测试验证 测试目的: 远程代…...

遨游5G-A防爆手机:赋能工业通信更快、更安全
在工业数字化转型与5G-A商用进程加速的双重驱动下,中国防爆手机市场正迎来历史性发展机遇。作为“危、急、特”场景通信解决方案服务商,遨游通讯深刻洞察到:当5G-A网络以超高速率、海量连接和毫秒级时延重塑行业生态时,防爆手机这…...

Profibus DP主站与Modbus RTU/TCP网关与海仕达变频器轻松实现数据交互
Profibus DP主站与Modbus RTU/TCP网关与海仕达变频器轻松实现数据交互 Profibus DP主站转Modbus RTU/TCP(XD-MDPBm20)网关在Profibus总线侧实现主站功能,在Modbus串口侧实现从站功能。可将ProfibusDP协议的设备(如:海…...
C++八股——智能指针
文章目录 1. 背景2. 原理与使用2.1 auto_ptr2.2 unique_ptr2.3 shared_ptr2.4 weak_ptr2.5 定制删除器 1. 背景 智能指针不是指针,是一个管理指针的类,用来存储指向动态分配对象的指针,负责自动释放动态分配的对象,防止堆内存泄漏…...

「华为」人形机器人赛道投资首秀!
温馨提示:运营团队2025年最新原创报告(共210页) —— 正文: 近日,【华为】完成具身智能赛道投资首秀,继续加码人形机器人赛道布局。 2025年3月31日,具身智能机器人头部创企【千寻智能&#x…...

格雷希尔G10和G15系列自动化快速密封连接器,适用于哪些管件的密封,以及它们相关的特性有哪些?
格雷希尔G10和G15系列快速密封连接器,用于自动化和半自动化过程中的外部或内部密封,通过使用气压驱动来挤压内部的密封圈,创造一个适用于各种管件的无泄漏密封连接,连接器内部的弹性密封圈可以提供其他产品不能提供的卓越密封性能…...
mac一键安装gpt-sovit教程中,homebrew卡住不动的问题
mac一键安装gpt-sovit教程 仅作为安装过程中解决homebrew卡住问题的记录 资源地址 https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e/znoph9dtetg437xb#mlAoP 下载一键包 下载后并解压,找到install for mac.sh,终端执行bash空格拖拽in…...

专栏特辑丨悬镜浅谈开源风险治理之SBOM与SCA
随着容器、微服务等新技术日新月异,开源软件成为业界主流形态,软件行业快速发展。但同时,软件供应链也越来越趋于复杂化和多样化,软件供应链安全风险不断加剧。 软件供应链安全主要包括软件开发生命周期和软件生存运营周期&#x…...

vue3项目创建-配置-elementPlus导入-路由自动导入
目录 方法一:create-vue 方法二 :Vite Vue Vite.config.ts配置 引入element-plus 安装 如何在项目中使用 Element Plus 完整引入 按需导入 vue3vite中自动配置路由的神器:vite-plugin-pages 1. 安装 2、修改vite.config.js中配置…...

MUSE Pi Pro 编译kernel内核及创建自动化脚本进行环境配置
视频讲解: MUSE Pi Pro 编译kernel内核及创建自动化脚本进行环境配置 今天分享的主题为创建自动化脚本编译MUSE Pi Pro的kernel内核,脚本已经上传到中 GitHub - LitchiCheng/MUSE-Pi-Pro-Learning: MUSE-Pi-Pro-Learning ,有需要可以自行clon…...
Java大师成长计划之第20天:Spring Framework基础
📢 友情提示: 本文由银河易创AI(https://ai.eaigx.com)平台gpt-4o-mini模型辅助创作完成,旨在提供灵感参考与技术分享,文中关键数据、代码与结论建议通过官方渠道验证。 在Java开发领域,Spring …...

Innovus 25.1 版本更新:助力数字后端物理设计新飞跃
在数字后端物理设计领域,每一次工具的更新迭代都可能为项目带来巨大的效率提升与品质优化。今天,就让我们一同聚焦 Innovus 25.1 版本(即 25.10 版本)的更新要点,探寻其中蕴藏的创新能量。 一、核心功能的强势进 AI…...
FastAPI 和 MongoDB 实现请求头参数处理的示例,并在 React 中进行渲染
FastAPI 和 MongoDB 后端 安装必要的库 安装 FastAPI、Uvicorn、Motor(用于 MongoDB 的异步驱动)和 Pydantic(用于数据验证)。 pip install fastapi uvicorn motor pydantic创建 FastAPI 应用 创建一个文件 main.py,并…...

CodeBuddy 中国版 Cursor 实战:Redis+MySQL双引擎驱动〈王者荣耀〉战区排行榜
文章目录 一、引言二、系统架构设计2.1、整体架构概览2.2、数据库设计2.3、后端服务设计 三、实战:从零构建排行榜3.1、开发环境准备3.2、用户与战区 数据管理3.2.1、MySQL 数据库表创建3.2.2、实现用户和战区数据的 CURD 操作 3.3、实时分数更新3.4、排行榜查询3.5…...
码蹄集——分解、数组最大公约数、孪生质数、卡罗尔数、阶乘数
MT1158 分解 输入正整数N和M,判断N是否可以分解成M个不同的正整数的和,输出YES或者NO。 格式 输入格式:输入正整数N和M,空格分隔 输出格式:输出YES或者NO 样例 1 输入:5 2 输出:YES 思路…...
【React中函数组件和类组件区别】
在 React 中,函数组件和类组件是两种构建组件的方式,它们在多个方面存在区别,以下详细介绍: 1. 语法和定义 类组件:使用 ES6 的类(class)语法定义,继承自 React.Component。需要通过 this.props 来访问传递给组件的属性(props),并且通常要实现 render 方法返回 JSX…...
Idea Code Templates配置
Templates配置 配置位置模板案例 配置位置 Settings->Editor->File and Code Templates模板案例 #if (${PACKAGE_NAME} && ${PACKAGE_NAME} ! "")package ${PACKAGE_NAME};#endimport com.ktools.common.dataprocess.DataProcess; import com.ktools…...

在线SQL转ER图工具
在线SQL转ER图网站 在数据库设计、软件开发或学术研究中,ER图(实体-关系图) 是展示数据库结构的重要工具。然而,手动绘制ER图不仅耗时费力,还容易出错。今天,我将为大家推荐一款非常实用的在线工具——SQL…...

python高级特性
json.dumps({a:1,n:2}) #Python 字典类型转换为 JSON 对象。相当于jsonify data2 json.loads(json_str)#将 JSON 对象转换为 Python 字典 异步编程:在异步编程中,程序可以启动一个长时间运行的任务,然后继续执行其他任务,而无需等…...

汇编:子程序设计
一、 实验要求 实验目的: 熟练掌握算术运算汇编指令的使用熟练掌握子程序设计的基本方法熟练掌握程序的调试方法 实验内容: 编程实现两个数:#8888H和#79H的乘除运算结合实验1的代码,将加减乘除四则运算写成四个子程序ÿ…...

从概念表达到安全验证:智能驾驶功能迎来系统性规范
随着辅助驾驶事故频发,监管机制正在迅速补位。面对能力表达、使用责任、功能部署等方面的新要求,行业开始重估技术边界与验证能力,数字样机正成为企业合规落地的重要抓手。 2025年以来,围绕智能驾驶功能的争议不断升级。多起因辅…...
ubuntu 24.04 error: cannot uninstall blinker 1.7.0, record file not found. hint
最近在打python3.12的镜像,安装browser-gym的核心库,编译一个使用browswer agents的环境,然后出现了下面的问题: error: cannot uninstall blinker 1.7.0, record file not found. hint: the package was installed by debian.系…...

DeepSeek基于注意力模型的可控图像生成
DeepSeek大模型高性能核心技术与多模态融合开发 - 商品搜索 - 京东 图像的加噪与模型训练 在扩散模型的训练过程中,首先需要对输入的信号进行加噪处理,经典的加噪过程是在图像进行向量化处理后在其中添加正态分布,而正态分布的值也是与时间…...
“端 - 边 - 云”三级智能协同平台的理论建构与技术实现
摘要 随着低空经济与智能制造的深度融合,传统集中式云计算架构在实时性、隐私保护和资源效率上的瓶颈日益凸显。本文提出“端 - 边 - 云”三级智能协同平台架构,以“时空 - 资源 - 服务”三维协同理论为核心,构建覆盖终端感知、边缘计算、云端…...

AI时代,如何实现人机共舞?
在科技飞速发展的当下,人工智能(AI)已不再是科幻作品中的遥远想象,而是深入渗透到我们生活与工作的方方面面。从智能手机中的语音助手,到金融领域的风险预测模型;从医疗影像的智能诊断,到工业生…...
component :is是什么?
问: component :is是什么? 是组件? 那我们是不是就不需要自己创建组件了?还是什么意思?component :is和什么功能是类似的,同时和类似功能相比对什么时候用component :is…...
2025 3D工业相机选型及推荐
3D工业相机是专门为工业应用设计的三维视觉采集设备,能够获取物体的三维空间信息,在智能制造、质量检测、机器人引导等领域有广泛应用。 一、主要类型 1.结构光3D相机 通过投射特定光斑或条纹图案并分析变形来重建三维形状 典型代表:双目结构…...