新闻详情

新闻详情

首页 / 资讯中心 / 详情

精通Python 的下手点

发布时间:2026/9/29 13:16:37来源:尧图网络
精通Python 的下手点
前言本文档为Python精通级完整学习手册,区别于入门教程,聚焦Python底层原理、高级语法、工程开发、并发异步、性能调优、安全规范、企业级实战能力。精通核心标准:不止会写代码,而是懂原理、知坑点、会调优、能写出企业级规范、高性能、安全稳定的Python代码。一、Python核心基础(精通底层原理)章节目录变量、对象、内存地址、引用机制、可变/不可变对象(核心重中之重)数值类型:int无限精度、float浮点精度缺陷、decimal高精度运算字符编码:str/bytes区别、Unicode、UTF-8/GBK编码解码、乱码本质四大容器:list/tuple/dict/set底层原理、哈希表特性、增删改查性能核心运算符:is与==本质区别、运算符优先级特殊语法:循环else分支、海象运算符:=函数核心:五大参数类型、LEGB作用域规则、全局/闭包变量修改运算法优先级1、变量、对象、内存地址、引用机制、可变/不可变对象核心概念:Python 中一切皆对象。变量不是盒子,只是一个引用(标签),绑定到对象内存地址。id(obj)获取对象内存地址。可变对象:对象本身内存里的数据可以原地修改,id不变。list/dict/set不可变对象:对象内存数据不能原地修改;“修改”本质是新建对象,变量绑定新地址。int/str/tuple/float/bool# 变量只是对象的标签,不是容器a=[1,2,3]print(f"a 绑定对象id:{id(a)}")# b 和 a 引用同一个对象,不是复制b=aprint(f"b 绑定对象id:{id(b)}")# 原地修改可变对象,a,b同时看到变化a.append(4)print(f"a={a}, b={b}")# 不可变对象示例x=10print(f"x id={id(x)}")x=x+1# 不是修改10这个对象,新建对象11,x贴新标签print(f"x={x}, x id={id(x)}")输出a 绑定对象id: 140619002747584 b 绑定对象id: 140619002747584 a=[1, 2, 3, 4], b=[1, 2, 3, 4] x id=140619040646288 x=11, x id=1406190406463202、数值类型:int无限精度、float浮点精度缺陷、decimal高精度运算int:Python整数没有溢出限制,可以无限大。float:底层是IEEE754双精度浮点数,二进制存储小数,十进制小数无法精确表达,存在精度丢失。decimal:十进制高精度计算,适合金融、金额计算。# 1. int无限精度big_num=99999999999999999999999999999999999999999999999999print("超大整数:",big_num)# 2. float精度缺陷a=0.1+0.2print(f"0.1 + 0.2 ={a}")print(f"0.1+0.2 == 0.3 ?{a==0.3}")# 3. Decimal 高精度十进制运算fromdecimalimportDecimal,getcontext getcontext().prec=20# 设置精度d1=Decimal("0.1")d2=Decimal("0.2")res=d1+d2print(f"Decimal 0.1+0.2 ={res}")print(f"res == Decimal('0.3') ?{res==Decimal('0.3')}")输出超大整数: 99999999999999999999999999999999999999999999999999 0.1 + 0.2 = 0.30000000000000004 0.1+0.2 == 0.3 ? False Decimal 0.1+0.2 = 0.3 res == Decimal('0.3') ? True3、字符编码:str/bytes区别、Unicode、UTF-8/GBK编码解码、乱码本质str:Unicode 字符串,人类可读文本,内存中是Unicode码点。bytes:原始字节流,0-255,用于文件、网络传输。encode:str - bytes编码;decode:bytes - str解码。乱码本质:编码和解码使用的字符集不一致。# str 是Unicode文本text="中文Python"print(f"str文本:{text}, type={type(text)}")# str - bytes 编码 UTF-8b_utf8=text.encode("utf-8")print(f"utf-8 bytes:{b_utf8}, type={type(b_utf8)}")# bytes - str 解码text2=b_utf8.decode("utf-8")print(f"utf-8解码还原:{text2}")# GBK编码b_gbk=text.encode("gbk")print(f"gbk bytes:{b_gbk}")# 错误:用utf8解码gbk字节 → 乱码/报错try:wrong=b_gbk.decode("utf-8")exceptUnicodeDecodeErrorase:print("解码错误:",e)输出str文本: 中文Python, type=class 'str' utf-8 bytes: b'\xe4\xb8\xad\xe6\x96\x87Python', type=class 'bytes' utf-8解码还原: 中文Python gbk bytes: b'\xd6\xd0\xce\xc4Python' 解码错误: 'utf-8' codec can't decode byte 0xd6 in position 0: invalid continuation byte4、四大容器:list/tuple/dict/set底层原理、哈希表特性、增删改查性能list:动态数组。索引查找O(1);头部插入/删除O(n);尾部追加O(1)均摊。tuple:不可变数组,list的只读版本,可哈希(元素全部不可变时)。dict:哈希表(Python3.7+有序)。key必须可哈希,查找/插入/删除平均O(1)。set:哈希集合,只有key无value,自动去重,成员判断平均O(1)。# listlst=[10,20,30]lst.append(40)print("list:",lst)# tuple 不可变t=(1,2,3)print("tuple:",t)# t[0] = 99 # 报错,不可修改# dict 哈希表d={"name":"Tom","age":20}print("dict查找name:",d["name"])# set 自动去重s={1,1,2,2,3}print("set自动去重:",s)print(f"3 in s ?{3ins}")print(f"99 in s ?{99ins}")输出list: [10, 20, 30, 40] tuple: (1, 2, 3) dict查找name: Tom set自动去重: {1, 2, 3} 3 in s ? True 99 in s ? False列推、生表 式# ========== 列表推导式 ==========# 一次性生成 0~9 的平方,存入列表(占内存)nums_list=[x**2forxinrange(10)]print(nums_list)# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]print(type(nums_list))# class 'list'# ========== 生成器表达式 ==========# 返回一个生成器对象,不立即计算nums_gen=(x**2forxinrange(10))print(nums_gen)# generator object genexpr at 0x...print
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

分布式雷达组网工程化落地:时空配准与融合算法实战 2026/9/29 13:16:23

分布式雷达组网工程化落地:时空配准与融合算法实战

简介:这份PDF文献面向雷达工程、电子对抗与防空系统领域的研究人员及高年级学生,系统梳理了分布式雷达组网技术的研究现状与应用方向,帮助读者理解多站协同如何突破单站雷达在探测范围、抗干扰与生存能力上的局限。全文围绕分布式异构自组网通…

阅读更多 →
H3C离线文档生存指南:从h3c-gb0-192.doc到命令速查与合规预检 2026/9/29 13:15:57

H3C离线文档生存指南:从h3c-gb0-192.doc到命令速查与合规预检

简介:这份资源是面向网络工程师与H3C认证备考者的GB0-192知识点详解文档,围绕数据通信与TCP/IP基础展开,适合正在准备H3C认证考试或需要系统梳理网络基础的在职人员查漏补缺。压缩包内共1个doc文件,约3.2MB,内容以题库…

阅读更多 →
AI真的太好用啦!Aspire Dashboard集成GitHub Copilot 2026/9/29 13:15:18

AI真的太好用啦!Aspire Dashboard集成GitHub Copilot

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
低空经济无人机AI巡检系统:从设计方案到闭环落地 2026/9/29 13:14:39

低空经济无人机AI巡检系统:从设计方案到闭环落地

简介:这份《低空经济无人机AI巡检系统设计方案》面向无人机应用开发者、AI视觉工程师及工业巡检项目规划人员,系统讲解如何构建一套覆盖电力线巡检、管道监测、农田病虫害识别与城市基础设施检查的智能巡检方案。文档围绕飞行平台选型、飞控与多模式航线…

阅读更多 →
基于前向神经网络的音乐情感识别分类算法实战指南 2026/9/29 13:14:13

基于前向神经网络的音乐情感识别分类算法实战指南

简介:这是一篇面向音乐信息检索、推荐系统与情感计算方向研究者的科研论文PDF,聚焦单模态数据在音乐情感分类上的局限,提出基于前向神经网络的多特征融合分类算法。作者在传统前向神经网络隐藏层中引入切比雪夫正交多项式簇作为各神经元激励函…

阅读更多 →
改进YOLOv5船舶目标检测:小目标召回提升与锚框重聚类实战 2026/9/29 13:14:13

改进YOLOv5船舶目标检测:小目标召回提升与锚框重聚类实战

简介:这份文档面向计算机视觉方向的研究生、算法工程师及船舶检测领域从业者,系统探讨基于改进Yolov5算法的船舶目标检测方法,帮助读者理解复杂海况与多目标场景下提升检测精度与鲁棒性的完整思路。内容从研究背景与国内外现状切入&#xff0…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉