自由学习记录(38)

news2025/2/26 0:15:34

python语法

def

def print_receipt

(store_name, items, total_price, cashier="Self-Checkout", payment_method="Credit Card"):

Python 的 函数定义 语法

  • def print_receipt(...) → 定义了一个名为 print_receipt 的函数。
  • store_name, items, total_price → 这些是必填参数,调用 print_receipt() 时必须提供。

^40格式化对齐 语法,它的意思是:

  • ^居中对齐
  • 40总宽度 40 个字符
  • 如果 store_name 只有 10 个字符,前后会各填充 (40-10)/2=15 个空格,使它居中。

  • {item:<20}item 左对齐,占 20 个字符(让商品名整齐)
  • {qty:<5}qty 左对齐,占 5 个字符
  • {price:.2f}price 保留两位小数

sum(i**n for i in range(1, n+1)) 计算从 1^nn^n 之和:

  • range(1, n+1) 生成 1n 之间的整数。
  • i**n 计算 in 次方。
  • sum() 对所有次幂结果求和。

:2 表示这个值至少占 2 个字符的宽度,如果数字位数不足,会自动用空格填充左侧

  • {} 表示占位符,可以放入变量或表达式。
  • : 冒号后面是格式说明,用来控制对齐方式、宽度、小数位数等

Python turtle 真的很适合绘图

在 Python 中,[] 表示一个列表(List),它是一个可以存储多个元素的数据结构。

enumerate() 可以让你在遍历列表或其他可迭代对象时,同时获取索引和对应的值

Tomcat安装的问题(jdk-21)

首先检查Java的环境变量配了没

然后直接去官网找直装(如果不可以就去配一下Tomcat  的环境变量)

------

第一章 整体概述(选填)

计算机网络:利用通信线路和交换设备将地理位置分散的、具有独立功能的多台计算机连接起来,
按照某种协议进行数据通信、实现资源共享的信息系统。

电路交换是以电路连接为目的的交换方式,通信之前要在通信双方之间建立一条被双方独占的物理通道(由通信双方之间的交换设备和链路逐段连接而成)。
报文交换是以报文为数据交换的单位,报文携带有目标地址、源地址等信息,报文整个地发送,一次一跳,在交换结点采用存储转发的传输方式,即将到达交换机的分组先送到存储器暂时存储和处理,等到相应的输出电路有空闲时再送出。
分组交换基于报文交换,将报文划分为更小的数据单位:报文分组(也称为段、包、分组)。分组交换仍采用存储转发传输方式,但将一个长报文先分割为若干个较短的分组,然后把这些分组(携带源、目的地址和编号信息)逐个地发送出去。

第二章 物理层(选填)

物理层:确定与接口有关的一些特性。
机械特性:规定物理连接时所采用的规格、接口形状、引线数目、引脚数量和排列情况。

电气特性:规定传输二进制位时,线路上信号的电压范围、阻抗匹配、传输速率和距离限制等。
功能特性:指明某条线上出现的某一电平表示何种意义,接口部件的信号线的用途。
规程特性:(过程特性)定义各条物理线路的工作规程和时序关系。

某网络在物理层规定,+10~15V表示二进制0,-10~15V表示二进制1

电线长度限于15m以内

模拟信号更适合远程传输,数字信号容易损失,所以需要先转换

一个横杠就是一个码元,一个码元携带 log2V 个 bit

消息:通信的目的是传送消息,如语音、文字、图像、视频等。
数据:数据是运送消息的实体  0/1
信号:信号是数据的电气或电磁表现

奈氏准则和香农地理

信道复用技术

波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。

-----突然意识到这些期末速成的视频,,我好像有点看不习惯了,------

在CSDN上这么多速成的题目文章,比起视频感觉现在更适合我了

那问题也来了,原来期末这么好应付吗,,是天灵盖开了还是怎么

那我现在岂不是有充足的时间准备暑期的游戏投简历实习了?

可以,疯批起来了,,哈哈

游戏的话我感觉先跟着那个国外的Alex Dev做掉那个RPG 的游戏,至少要做一个完成的项目,,

而且要尽快,,三周之内要看完解决

之后要不要打比赛,,还有看看岗位,,岗位上的需求要么就是不写的明确,要么就是明确但很多自己都没学过,,但都可以投,,

感觉还是打比赛,,有真正的比赛出项目,这个会很重要,,自己做的可能竞争力不会很高

,,,

那翻篇了,,现在就可以高权重投入了,开始吧

----------------------------------------

Inspector 里看到的 public 变量的值只会影响运行前的初始化值,而不会动态同步代码里的赋值,它的主要作用就是在 运行时测试修改

Inspector 里的值优先级更高,即使你在脚本里赋值,Inspector 里手动修改过的值会保持不变

你可以在运行时(Play 模式)修改它的值,观察效果,比如调整速度、颜色、大小等参数。

为什么代码里的 public float 赋值后,Inspector 里不变?

🔍 因为 Unity 序列化了 public 变量,并把 Inspector 里的值存储在 .scene 文件或 .prefab 里。
这意味着:

  • 如果变量在 Inspector 里被手动修改过,它会忽略你在代码里的默认值
  • 但如果你完全删除这个变量,再重新写,它会恢复代码里的默认值

public class Example : MonoBehaviour
{
    [SerializeField] private float myValue = 10f;  // Inspector 里会显示,但不会存储覆盖代码的默认值
}

Sprite(精灵)导入设置 中的部分选项,主要用于 2D 游戏开发

Sprite Mode(精灵模式)
  • Single(默认):单张 Sprite 纹理,即整个图片作为一个精灵对象使用。
  • Multiple(多精灵模式):允许在 Sprite Editor(精灵编辑器)中手动切割这张图片,将其分成多个小的 子 Sprite,用于 精灵动画、Tilemaps(瓦片地图)、角色拼接 等。
Packing Tag(打包标签)
  • 用于 Sprite Atlas(精灵图集)优化,可以将多个 Sprite 组合到 同一个纹理,减少 Draw Call(减少渲染开销)。
  • 默认是空的,如果使用 Sprite Atlas,可以手动填写相同的 Tag,让 Unity 自动打包这些 Sprite 进行优化。

💡 你的 Packing Tag 是灰色的,表示没有使用 Sprite Atlas(或没有启用 Enable Sprite Atlas Packing)。

Pixels Per Unit(单位像素)
  • 定义多少个像素等于 1 个 Unity 世界单位
  • 默认值通常是 100,但像素风格游戏通常使用 16、32、64 等 以适配网格大小。
  • 较小的值(如 16)表示 Sprite 更大,更适合像素风格游戏。

💡 你的设置是 16,意味着 16px = 1个 Unity 世界单位,适用于 低分辨率像素游戏

Mesh Type(网格类型)
  • 控制 Sprite 的 Mesh(网格)类型,影响 碰撞检测渲染性能
    • Tight(紧密包围)精确匹配 Sprite 的形状,减少透明区域,提高碰撞检测精度。(适用于不规则形状的 Sprite
    • Full Rect(完整矩形)用矩形包围整个 Sprite,计算更快,但可能会浪费多余的透明像素区域。(适用于规则矩形 Sprite

💡 你的 Mesh Type 设置为 Tight,表示 Unity 会生成 紧密包围 Sprite 形状的网格,适用于 需要精确碰撞检测的 Sprite(如 角色、障碍物)。

Extrude Edges(边缘扩展)
  • 扩展 Sprite 的边界像素,防止 贴图采样错误(像素边缘产生黑边或透明缝隙)
  • 适用于 Sprite 的 Tight Mesh Type,特别是当使用 非规则形状的 Sprite 并启用了 3D 光照、Shader、Tilemap 等 时。

💡 你的设置是 1,表示扩展 1 像素,防止采样错误。

Generate Physics Shape(生成物理碰撞形状)
  • 是否自动为 Sprite 生成物理碰撞形状
  • ✅ 勾选后,Unity 会根据 Tight Mesh 形状生成 Collider(碰撞体),适用于 2D 物理系统(如 PolygonCollider2D
  • 如果未勾选,则默认使用 BoxCollider2D(矩形碰撞体)。

💡 你的选项是 ,表示 Unity 会 自动根据 Sprite 的形状生成碰撞体,适用于 物理碰撞检测(如角色与地面碰撞)

sprite editor的操作种类

Custom Outline(自定义轮廓)

  • 用于调整 Sprite 的网格轮廓(Mesh Outline),影响渲染和物理碰撞形状。

  • 默认情况下,Unity 会自动生成一个包围 Sprite 的 Tight(紧密)Full Rect(矩形) 网格。

  • 手动调整 Custom Outline,可以减少透明区域的网格点,提高渲染效率

✅ 适用场景:优化 2D 渲染,减少不必要的透明像素网格(提高性能)。
自定义 Sprite 网格形状,防止意外的黑边或采样错误。

Custom Physics Shape(自定义物理碰撞形状)

  • 用于编辑 Sprite 生成的 PolygonCollider2D(多边形碰撞体)形状

  • 如果 Generate Physics Shape 选项启用,Unity 会 自动计算物理形状,但有时不够精确。

  • 可以手动调整碰撞体的顶点,确保 碰撞更加符合角色外形

✅ 适用场景:2D 角色、障碍物、地形的碰撞检测
自动生成的碰撞体不精准,需要手动修正
优化物理性能,减少不必要的碰撞计算(精简多边形点数)。

Secondary Textures(次要纹理)

  • 用于 Unity 的 Sprite Renderer 多层纹理系统(如法线贴图、光照贴图)。

  • 允许给 Sprite 绑定多个额外的贴图,比如:

    • Normal Map(法线贴图) → 让 2D Sprite 受光照影响,模拟 3D 质感。

    • Emission Map(自发光贴图) → 让某些区域发光,比如霓虹灯效果。

✅ 适用场景:2D 角色使用光照贴图,增强视觉效果
希望 2D 角色受光照影响,增加立体感(法线贴图)。
需要特殊效果,如局部发光、透明遮罩等

Skinning Editor(蒙皮编辑器)

  • 用于 2D 骨骼动画(Skeletal Animation),搭配 2D Animation Package

  • 可以给 Sprite 绑定骨骼(Bone),用于 2D 骨骼动画系统(类似 Spine、DragonBones)

  • 允许调整网格权重(Weight)、骨骼影响范围

✅ 适用场景:2D 角色动画(骨骼绑定、网格变形)
不想用逐帧动画,改用骨骼动画优化性能
创建皮肤变形效果(如布料、柔软物体)

Sprite Editor里的Slice(切割)工具

1️⃣ Type(切割类型)

  • 控制 Unity 如何自动分割 Sprite
  • 可选值
    • Automatic(自动) ✅ 默认
      • Unity 根据透明像素区域自动检测并切割 Sprite。
    • Grid by Cell Size(按网格大小切割)
      • 适用于 Tilemaps(瓦片地图)或像素艺术
      • 需要手动输入每个 Sprite 的宽高(Cell Size)。
    • Grid by Cell Count(按网格数量切割)
      • 指定 Sprite 要划分成多少行 & 列,Unity 自动计算尺寸。

💡 你的设置是 Automatic,Unity 会根据透明区域自动检测并切割 Sprite

2️⃣ Pivot(轴心点)

  • 决定每个 Sprite 的 Pivot(轴心点),影响旋转、碰撞体、动画对齐等
  • 可选值
    • Center(中心) ✅ 默认
    • Top Left(左上)
    • Bottom Right(右下)
    • Custom(自定义) → 允许手动输入 X / Y 坐标。

💡 你的设置是 Center(中心点),适用于大多数情况
但如果是瓦片地图(Tilemaps),建议用 Bottom Left,防止对齐问题

3️⃣ Method(切割方法)

  • 控制 Unity 如何处理原有的 Sprite 切割信息
  • 可选值
    • Delete Existing(删除现有)你的选择
      • 删除当前所有的 Sprite 并重新创建(可能会导致 Sprite 关联丢失)。
      • 适用于完全重新切割的情况。
    • Smart(智能)
      • 保留已有的 Sprite 切割信息,但会优化未被覆盖的部分
    • Safe(安全)
      • 仅在不影响现有 Sprite 结构的情况下进行切割,不会破坏已有数据。

💡 ⚠ 你的设置是 Delete Existing,可能会导致 Sprite 关联丢失(比如已经绑定的动画、Prefab 里的 Sprite 可能会失效)。
推荐 SmartSafe,除非你确实想完全重新切割

4️⃣ Slice(开始切割按钮)

  • 点击 Slice 按钮后,Unity 会按照上面选择的规则切割 Sprite
  • 如果 Method 选择 Delete Existing,原有的 Sprite 数据会丢失,请谨慎操作

------------

默认情况下,Unity 的网格(Grid)是一单位 1m × 1m即 1 个方格 = 1 米)。

虽然 Sprite(精灵) 主要用于 2D 游戏,但 Filter Mode(过滤模式)的作用与 3D 纹理相同,仍然是控制 Sprite 在缩放时的像素显示效果

Sprite(纹理同理)Advanced设置

1️⃣ Wrap Mode(纹理环绕模式)

  • 决定当纹理坐标超出 0-1 范围时,纹理如何重复或拉伸。
  • 常见值:
    • Repeat(重复):纹理会不断重复,适用于地板、墙壁等连续贴图
    • Clamp(边缘拉伸):超出纹理范围的部分会拉伸边缘的颜色,适用于天空盒、UI 等。

💡 你的设置是 Clamp,表示纹理边缘不会重复,而是拉伸最后一个像素。

2️⃣ Filter Mode(纹理过滤模式)

  • 控制当纹理被缩放(放大或缩小)时,像素如何进行插值计算。
  • 选项:
    • Point (No Filter)(点过滤,无插值)
      • 纹理 保持像素风格,清晰但可能有锯齿
      • 适用于像素艺术游戏(Pixel Art)或低分辨率 UI
    • Bilinear(双线性过滤)
      • 纹理在放大/缩小时会进行平滑插值,但不会考虑不同 Mipmap 层级
      • 适用于普通 3D 贴图,不希望看到像素化效果
    • Trilinear(三线性过滤)
      • 进一步改进双线性过滤,并在不同的 Mipmap 层级 之间平滑过渡。
      • 适用于 3D 物体的高质量贴图(如逼真的地面、角色皮肤)

💡 你的设置是 Point (No Filter),表示 Unity 不会对纹理进行平滑处理,适用于 像素风格游戏(Pixel Art)低分辨率贴图,确保每个像素都是清晰的方块。

🎯 过滤模式(Filter Mode)本质上在做什么?

是的,你的理解基本正确。Unity 里的 Filter Mode(纹理过滤模式)主要用于处理 纹理(Texture)在放大或缩小时的像素插值方式,确保它能以合适的方式渲染到屏幕上。

图片的最基础单位是像素(Pixel),它本身是固定的大小

一张 2D 纹理有 Pixels Per Unit(PPU),用于确定 多少像素 = 1 个 Unity 世界单位

当纹理被缩放时(无论是 3D 还是 2D),原始像素点(Pixel)需要进行插值(Interpolation),以填充新的像素点,让它适配 Unity 里的显示大小

纹理过滤的主要原理

当你放大(或缩小)一张图片,新的像素点必须由 Unity 计算并“猜测”

  • ❌ 直接复制像素(无插值) → 导致硬边、像素化效果Point)。
  • ✅ 取多个像素的加权平均值平滑过渡,减少锯齿感BilinearTrilinear)。
  • 📌 取多个 Mipmap 层级进行插值减少远距离的模糊或闪烁Trilinear)。

Trilinear 最平滑,但计算量更大。Bilinear 适中,但远处可能有点模糊

Point 最快,但直接复制增添,不考虑过渡

---------

Multiple模式下的图片,如果slice成多张了,拖到场景里会自动带上要你生成animator状态机文件

一格代表一帧,到1.00的时候总共有12帧,也就是一秒内会播放下一张图片,一共切换11次,

这里记录的更重点的是速度,切换的速度,自己塞了多少张图关系不大,调整前后之间的间隙,增大就是切换的次数更少了

也就是手动调小帧率,但Animation里有一点很重要的是,里面有默认的帧率可以给你使用

但这里因为是像素的,一套动作只有五张图片,如果帧率太高,那图片又很少,就会加快切换图片的速度

把帧率调为2的时候,这种只是切换图片的调控感就更加体现出来了

一秒只切换一次图片,一帧的所有状态保留时间,是0.5秒

Awake() vs Start() 的区别

在 Unity 中,Awake()Start() 都是 MonoBehaviour 生命周期方法,它们的主要作用是在游戏对象(GameObject)启用时进行初始化。但是,它们的调用时机有所不同:

方法调用时机调用顺序适用场景
Awake()脚本实例化时(比 Start() 更早)不管 GameObject 是否启用,都会调用用于对象依赖关系初始化(例如 Singleton、加载数据、动态绑定对象等)
Start()Awake() 之后、第一帧 Update() 之前调用只有 GameObject 启用(enabled = true)时才会调用用于场景初始化(如摄像机定位、对象间的交互等)

--------

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2306080.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【SQL实验】触发器

下载素材文件”tsgl”、“成绩管理”,将tsgl.bak和成绩管理.bak数据库还原到库中【导入操作在之前的文章中详细讲过】 触发器 1、为图书表设置更新触发器&#xff0c;根据总编号来更新书名、作者、出版社、分类号和单价(根据总编号找到相应记录&#xff0c;然后更新书名、作者…

CPU多级缓存机制

目录 一、前置知识 ---- CPU的核心 1.1. 单核与多核CPU 二、CPU多级缓存机制 三. 缓存的基本结构/缓存的存储结构 四、CPU缓存的运作流程/工作原理 五、CPU多级缓存机制的工作原理【简化版】 5.1. 缓存访问的过程 (5.1.1) L1缓存&#xff08;一级缓存&#xff09;访问 …

神经网络八股(3)

1.什么是梯度消失和梯度爆炸 梯度消失是指梯度在反向传播的过程中逐渐变小&#xff0c;最终趋近于零&#xff0c;这会导致靠前层的神经网络层权重参数更新缓慢&#xff0c;甚至不更新&#xff0c;学习不到有用的特征。 梯度爆炸是指梯度在方向传播过程中逐渐变大&#xff0c;…

SmartMediakit之音视频直播技术的极致体验与广泛应用

引言 在数字化时代&#xff0c;音视频直播技术已经深入到各个行业和领域&#xff0c;成为信息传递和交流的重要手段。视沃科技自2015年成立以来&#xff0c;一直致力于为传统行业提供极致体验的音视频直播技术解决方案&#xff0c;其旗下的大牛直播SDK凭借强大的功能和卓越的性…

【R包】tidyplots----取代ggplot2的科研绘图利器

文章目录 介绍安装Usage文档参考 介绍 tidyplots----取代ggplot2的科研绘图利器。tidyplots的目标是简化为科学论文准备出版的情节的创建。它允许使用一致和直观的语法逐渐添加&#xff0c;删除和调整情节组件。 安装 You can install the released version of tidyplots fro…

DeepSeek 15天指导手册——从入门到精通 PDF(附下载)

DeepSeek使用教程系列--DeepSeek 15天指导手册——从入门到精通pdf下载&#xff1a; https://pan.baidu.com/s/1PrIo0Xo0h5s6Plcc_smS8w?pwd1234 提取码: 1234 或 https://pan.quark.cn/s/2e8de75027d3 《DeepSeek 15天指导手册——从入门到精通》以系统化学习路径为核心&…

微信小程序实现拉卡拉支付

功能需求&#xff1a;拉卡拉支付&#xff08;通过跳转拉卡拉平台进行支付&#xff09;&#xff0c;他人支付&#xff08;通过链接进行平台跳转支付&#xff09; 1.支付操作 //支付 const onCanStartPay async (obj) > {uni.showLoading({mask: true})// 支付接口获取需要传…

Unity 第三人称人物切动画时人物莫名旋转

前提: 使用Starter Asset包中的第三人称插件包. 在给3D角色的动画器增加新动画时, 发现进入新动画会让角色莫名转动. 观察后发现是动画强行将朝向掰"正", 人物动画在进行时朝向会一直变化, 这使得动作非常的怪异. 对系动画进行以下处理后, 将可以解决这种不自然: 选…

启动Redis报错记录

突然启动Redis就报了个错&#xff1a;‘Could not create server TCP listening socket 127.0.0.1:6379: bind: 操作成功完成。‘ 查了下解决方案&#xff0c;应该是6379端口已绑定&#xff0c;服务没有关闭。 需要输入命令redis-cli 再输入shutdown 但又出现了新的问题&…

自然语言处理NLP 04案例——苏宁易购优质评论与差评分析

上一篇文章&#xff0c;我们爬取了苏宁易购平台某产品的优质评价和差评&#xff0c;今天我们对优质评价与差评进行分析 selenium爬取苏宁易购平台某产品的评论-CSDN博客 目录 1. 数据加载 2. 中文分词 3. 停用词处理 4. 数据标注与合并 5. 数据集划分 6. 文本特征提取 …

图片爬取案例

修改前的代码 但是总显示“失败” 原因是 修改之后的代码 import requests import os from urllib.parse import unquote# 原始URL url https://cn.bing.com/images/search?viewdetailV2&ccidTnImuvQ0&id5AE65CE4BE05EE7A79A73EEFA37578E87AE19421&thidOIP.TnI…

官方文档学习TArray容器

一.TArray中的元素相等 1.重载一下 元素中的 运算符&#xff0c;有时需要重载排序。接下来&#xff0c;我们将id 作为判断结构体的标识。 定义结构体 USTRUCT() struct FXGEqualStructInfo {GENERATED_USTRUCT_BODY() public:FXGEqualStructInfo(){};FXGEqualStructInfo(in…

Web刷题之PolarDN(中等)

1.到底给不给flag呢 代码审计 一道典型的php变量覆盖漏洞 相关知识 什么是变量覆盖漏洞 自定义的参数值替换原有变量值的情况称为变量覆盖漏洞 经常导致变量覆盖漏洞场景有&#xff1a;$$使用不当&#xff0c;extract()函数使用不当&#xff0c;parse_str()函数使用不当&…

学习笔记-250222

论文&#xff1a; Learning Hierarchical Prompt with Structured Linguistic Knowledge for Vision-Language Models 主要研究llm在图像分类中的能力&#xff0c;当提示输入目标类别时&#xff0c;llm能够生成相关的描述以及相应的结构化关系。 1.首先利用llm从普通的描述中获…

Unity游戏制作中的C#基础(1)界面操作基础

1.脚本有关注意事项 &#xff08;1&#xff09;.进入项目之后&#xff0c;一般创建一个文件夹Scripts用来存放c#脚本&#xff1b; &#xff08;2&#xff09;.在Scripts中创建脚本&#xff0c;双击脚本&#xff0c;进入VS编辑器&#xff0c;有如下结构&#xff1a; start&#…

为什么要将PDF转换为CSV?CSV是Excel吗?

在企业和数据管理的日常工作中&#xff0c;PDF文件和CSV文件承担着各自的任务。PDF通常用于传输和展示静态的文档&#xff0c;而CSV因其简洁、易操作的特性&#xff0c;广泛应用于数据存储和交换。如果需要从PDF中提取、分析或处理数据&#xff0c;转换为CSV格式可能是一个高效…

Android KMP初探

Android KMP初探 前言&#xff1a; 最近线上听了Kotlin官网举行的KMP会议&#xff0c;感觉听神奇的&#xff0c;于是就把官方demo下载下来尝试了一下&#xff0c;下载插件和所需要的依赖都用了很久&#xff0c;但是发现里面的代码很少&#xff0c;于是尝试自己手写了一下&…

网络安全之Web后端PHP

目录 一、PHP基础语法 1.PHP基础 &#xff08;1&#xff09;php的优点 &#xff08;2&#xff09;PhpStorm的优点 2.PHP基本语法 3.PHP变量 4.PHP运算符 二、PHP流控与数组 1.php流程控制语句以及循环 &#xff08;1&#xff09;if 语句 &#xff08;2&#xff09;if…

Redis——用户签到BitMap,UV统计

目录 BitMap 使用场景 1. 用户签到系统 2. 用户行为标记 3. 布隆过滤器&#xff08;Bloom Filter&#xff09; BitMap介绍 Redis中的使用 Redis功能示例 添加&#xff1a; 获取&#xff1a; 批量获取&#xff1a; java中实现 统计本月连续签到次数 UV统计 UV 统计…

pycharm技巧--鼠标滚轮放大或缩小 Pycharm 字体大小

1、鼠标滚轮调整字体 设置 Ctrl 鼠标滚轮调整字体大小 备注&#xff1a; 第一个是活动窗口&#xff0c;即缩放当前窗口 第二个是所有编辑器窗口&#xff0c;即缩放所有窗口的字体 2、插件 汉化包&#xff1a; Chinese Simplified 包