Visual Studio 常用快捷键:编辑、调试与导航
快捷键的价值不在于背下一张长表,而在于让高频动作逐渐离开鼠标。本文以 Visual Studio 2022 的 General(常规)配置文件为基准,按一次开发任务的实际顺序整理:先搜索和定位,再编辑与重构,最后构建和调试。
Visual Studio 的按键绑定会受开发设置配置文件、键盘布局、当前窗口上下文和个人修改影响。如果本文与本机表现不同,以“工具 → 选项 → 环境 → 键盘”中显示的命令绑定为准。
先记住组合键的读法Visual Studio 中经常出现 Ctrl + K, Ctrl + D 这样的两段式组合键。它不是同时按四个键,而是:
按下 Ctrl + K 后松开;
再按 Ctrl + D。
前半段相当于命令前缀,使大量功能可以复用有限的按键。如果第二段按错,按 Esc 即可取消等待状态。
第一组:搜索与代码导航这一组最值得优先形成肌肉记忆,因为阅读代码时“找到目标”往往比“输入代码”更耗时间。
动作
默认快捷键
适用场景
搜索文件、类型、成员和命令
Ctrl + T、Ctrl + , 或 Ctrl + P
不知道目标在哪个文件时
转到定义 ...
Matplotlib 数据可视化基础:从 Figure 到可复用图表
数据可视化不只是“把图画出来”。一张合格的图需要回答三个问题:比较的对象是什么、变化或差异在哪里、读者应该得出什么结论。本文从 Matplotlib 的对象模型开始,用一组无需外部数据文件的示例,建立从选图到导出的完整工作流。
一、先理解 Figure、Axes 与 ArtistMatplotlib 图形可以用三层结构理解:
Figure:整张画布,负责整体尺寸、布局和导出;
Axes:画布中的一个绘图区,包含坐标轴、标题和刻度;
Artist:图上的具体元素,例如折线、散点、文字和图例。
日常绘图推荐从 plt.subplots() 获得 Figure 和 Axes,再调用 ax.plot()、ax.scatter() 等方法。相比把所有状态交给 pyplot,这种对象式写法在多子图和函数封装中更清晰。
二、根据问题选择图表
想回答的问题
推荐图表
常见误区
数值如何随时间或顺序变化
折线图
横轴没有自然顺序却强行连线
两个数值变量是否相关
散点图
点重叠严重但没有透明度
不同类别谁高谁低
柱状图
从非零基线开始夸大差异
连续变量如何分布
直方图
只看一 ...
NumPy 数据读写与常用统计方法
NumPy 不仅用于数组计算,也提供了轻量的数据读写、汇总统计和索引工具。本篇按“读写—统计—排序—去重—搜索”的路径组织常用方法,便于按任务快速查找。
一、NumPy 读取数据(一)使用 NumPy 读写文本文件1. 将一维或二维数组写入 TXT、CSV 文件np.savetxt 把一维或二维数组写成文本。文件扩展名不会自动决定分隔方式;写 CSV 时仍需明确指定 delimiter=","。
参数
解释
参数
含义
—
—
fname
文件名或可写的文本文件对象;以 .gz 结尾时可直接写 gzip 文件
X
要保存的一维或二维数组
fmt
数值格式,例如 %d、%.2f,默认 %.18e
delimiter
列分隔符,默认空格;CSV 通常使用逗号
newline
行分隔符,默认换行符
header、footer
文件首尾的说明文本
comments
写在 header、footer 前的注释前缀,默认 #
encoding
文本编码
123456789101112import numpy as npa ...
NumPy 现代基础:数组、索引、广播与向量化
NumPy 的核心是 ndarray:带有固定数据类型和形状的多维数组。真正值得掌握的不是函数清单,而是 shape、dtype、axis、广播和内存共享这几个心智模型。本文以当前 NumPy 2.x 的写法重新整理这些基础。
NumPy 是什么NumPy 是数值计算生态中的基础库,主要用于大型、多维数组上的运算。它的优势可以概括为:
使用连续、结构化的数组表达数据;
通过向量化运算减少重复循环;
为统计、科学计算和数据处理工具提供统一的数组基础。
安装基础依赖:
1python -m pip install numpy
SciPy 是建立在 NumPy 之上的科学计算库,需要线性代数、优化、信号处理等扩展功能时再单独安装即可。
先记住四个属性1234567import numpy as npa = np.array([[1, 2, 3], [4, 5, 6]], dtype=np.float64)print(a.shape) # (2, 3):2 行 3 列print(a.ndim) # 2:二维print(a.dtype) # float64pr ...
计算机网络基础:从 TCP 连接到一次 HTTP 请求
背网络层次不难,难的是把它们串成一次真实请求:浏览器如何找到服务器,数据怎样逐层封装,TCP 为什么要握手,页面打不开时又该从哪里查起。本文沿着一次 HTTPS 请求,把这些问题连成一条线。
1. 先把分层模型放回实际网络OSI 七层模型适合解释职责,日常排障更常按 TCP/IP 四层模型思考。两者不是两套互相竞争的协议,而是观察同一通信过程的不同粒度。
TCP/IP 层次
大致对应的 OSI 层
典型协议或对象
主要问题
应用层
应用、表示、会话层
HTTP、TLS、DNS
传什么、怎样解释
传输层
传输层
TCP、UDP
哪个进程、是否可靠
网际层
网络层
IPv4、IPv6、ICMP
发往哪台主机、怎样路由
网络接口层
数据链路、物理层
Ethernet、Wi-Fi、ARP
下一跳是谁、怎样在链路上传输
发送时,应用数据会依次包进传输层报文段、IP 数据包和链路层帧;接收方再反向拆开。每一层只处理自己的地址与控制信息:端口定位进程,IP 地址定位主机,MAC 地址负责当前链路上的交付。
一个容易混淆的点是:交换机主要依据 MAC ...