Python 零基础入门:运算符、格式化输出与字符编码全解(避坑版)

发布时间:2026/7/3 1:03:45
Python 零基础入门:运算符、格式化输出与字符编码全解(避坑版) Python 零基础入门运算符、格式化输出与字符编码全解避坑版摘要本文面向纯零基础学习者系统拆解Python三大核心基础格式化输出全用法、全品类运算符与优先级、字符编码底层原理。全文附带可直接运行的示例代码、新手高频报错案例、乱码根治方案帮你一次性避开占位符报错、运算符短路、编码乱码三大新手重灾区筑牢Python编程底层根基。目录格式化输出百分号占位符、f-string、转义与类型强制规范全套运算符算术/比较/赋值/逻辑/成员运算符详解字符编码ASCII/GBK/Unicode/UTF-8区别与Python版本差异补充语法循环进阶、pass占位、in/not in实战场景新手必看高频报错与避坑总结一、格式化输出新手最易踩坑的基础语法1.1 主流格式化方案对比Python目前常用三种格式化方式零基础优先掌握**%占位符和f-string**前者兼容旧代码后者简洁高效Python3.6推荐。格式化方式语法特点适用场景推荐指数% 占位符传统写法区分数据类型兼容Python2、老旧项目⭐⭐⭐str.format()兼容强无需区分类型通用项目、多参数排版⭐⭐⭐⭐f-string简洁直观直接嵌入变量日常开发、新手编码⭐⭐⭐⭐⭐1.2 %占位符核心规则占位符用于预留字符串位置后续填充变量核心区分数据类型填错直接报错%s字符串占位符万能占位符可接收数字、列表、字符串等任意类型%d整数占位符仅接收整型传入字符串/浮点数直接抛类型错误%f浮点数占位符默认保留6位小数可手动限定精度1.3 实战案例个人信息模板输出# 接收用户终端输入input默认获取字符串类型nameinput(请输入姓名)ageint(input(请输入年龄))# 强制转为整型适配%dheightfloat(input(请输入身高(m)))addressinput(请输入所在地)# 多行模板格式化user_info 用户信息卡片 姓名%s 年龄%d 岁 身高%.2f m 所在地%s %(name,age,height,address)print(user_info)1.4 百分号转义如何输出原生%符号在**%格式化字符串内**单个%是占位符标识想要原生百分号必须用**%%**转义无占位符的普通字符串直接写%即可。# 1. 含占位符必须双百分号转义print(我叫%s今年%d岁已掌握3%%的Python基础语法%(name,age))# 2. 无占位符直接写单百分号print(当前学习进度100%)1.5 新手必避坑类型强制转换input()函数获取的所有数据默认都是字符串str直接传给%d/%f会直接报错必须手动类型转换# 错误写法直接传字符串给%d程序报错ageinput(年龄)print(年龄%d%age)# 正确写法先转整型再格式化ageint(input(年龄))print(年龄%d%age)1.6 极简推荐f-string格式化Python3专属无需区分占位符、无需拼接字符串直接在{}中写入变量/表达式新手首选nameTomscore92.5# 直接嵌入变量自动适配类型print(f学生姓名{name}考试分数{score:.1f})# 支持直接运算print(f总分翻倍{score*2})二、基本运算符程序计算与判断的核心运算符是Python实现计算、判断、逻辑推理的基础优先级和短路规则是新手高频易错点。2.1 算术运算符数值计算专用预设变量a 10b 3运算符功能说明示例代码运行结果加法/字符串拼接a b、“py”“thon”13、python-减法/取负a - b7*乘法/字符串重复a * b、“Hi”*330、HiHiHi/浮点除法必出小数a / b3.3333333//整除向下取整a // b3%取模求余数a % b1**幂运算次方a ** b10002.2 比较运算符返回True/False用于条件判断所有运算结果只有两个真True、假False是if、while语句的基础运算符说明示例a10结果等于判断值是否相同a 10True!不等于a ! 5True大于a 20False小于a 20True大于等于a 10True小于等于a 9False避坑提醒是赋值运算符是比较运算符条件判断中写错会直接语法报错2.3 赋值运算符简化变量更新用于快速修改变量值简化重复赋值代码运算符等效写法释义a a b自身累加-a a - b自身累减*、/a a * b / a a / b自身乘除//、%、**同逻辑整除、取模、幂运算赋值2.4 逻辑运算符多条件组合用于组合多个比较条件核心重点优先级与短路规则2.4.1 优先级排序括号() not取反 and且 or或2.4.2 核心规则and两边条件全为真结果才为真一假则假or两边条件一个为真结果就为真全真才真not对原有条件结果取反真变假、假变真2.4.3 短路规则面试高频x or yx为真直接返回xx为假返回yx and yx为真直接返回yx为假返回xprint(8or4)# 8非0为真直接返回前者print(0and3)# 00为假直接返回前者短路不执行后者print(not0)# True0代表假取反为真三、字符编码彻底根治中文乱码编码是新手乱码、文件报错的根源弄懂编码原理从此告别问号乱码、方框乱码。3.1 五大主流编码详解编码格式占用字节支持范围使用场景ASCII1Byte仅英文、数字、基础符号无中文老旧系统、底层硬件GB2312/GBK2Byte/汉字中文国标兼容ASCII支持繁体Windows本地老旧文件Unicode2/4Byte万国码收录全球所有文字内存中字符存储UTF-8变长英文1Byte/中文3ByteUnicode变长实现兼容全球文字互联网、Python3默认UTF-162Byte起步双字节为主Windows部分软件、移动端3.2 Python版本编码差异核心Python2默认编码ASCII文件含中文必须头部加# -*- coding:utf-8 -*-否则直接乱码报错Python3默认UTF-8编码原生支持中文无需额外声明新手推荐直接使用Python33.3 数据存储单位换算必记计算机最小单位是比特(bit)文件存储基础单位是字节(Byte)8 bit 1 Byte 1字节8位二进制 1024 Byte 1KB 1024 KB 1MB 1024 MB 1GB 1024 GB 1TB3.4 乱码根治核心原则编码乱码本质文件保存编码 ≠ 程序读取编码最佳实践所有Python文件、文本文件统一使用UTF-8编码彻底杜绝乱码四、补充进阶语法4.1 while-else 循环进阶核心规则循环正常执行完毕无break跳出才会执行else代码块break终止循环则不执行index1whileindex5:ifindex3:break# 强制跳出循环else不执行print(当前数字,index)index1else:print(循环无中断正常结束)4.2 pass 占位语句pass是空语句什么都不执行仅用于占位补全语法结构避免缩进报错# 临时预留分支逻辑后续补充if105:pass# 无pass会直接语法报错else:print(条件不成立)4.3 in / not in 成员运算符判断元素是否存在于字符串、列表等序列中常用于敏感词过滤、数据检索# 敏感词过滤实战commentinput(请输入评论内容)if垃圾incommentor违规incomment:print(评论包含敏感词发布失败)else:print(评论发布成功)# not in 反向判断wordpythonifjavanotinword:print(字符串中无java)五、新手高频报错与避坑总结格式化报错%d传入字符串 → 先用int()/float()完成类型转换百分号显示异常格式化内用%%转义普通字符串直接用%逻辑判断报错区分赋值和比较条件判断必须用双等号中文乱码Python2头部声明编码所有文件统一保存为UTF-8循环else不执行检查是否被break强制跳出循环缩进报错空代码块必须添加pass占位结语格式化输出、运算符、字符编码是Python最底层的三大基石也是新手入门的第一道门槛。运算符决定程序如何计算判断格式化输出规范数据展示编码规则解决中文乱码问题。建议逐行敲写文中示例代码牢记编码统一规则、运算符优先级、格式化类型约束打好基础后后续学习爬虫、数据分析、Web开发时会事半功倍