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

📅 2026/7/3 1:12:54 👁️ 阅读次数 📝 编程学习
Python 零基础入门:运算符、格式化输出与字符编码全解(避坑版)

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

摘要

本文面向纯零基础学习者,系统拆解Python三大核心基础:格式化输出全用法全品类运算符与优先级字符编码底层原理。全文附带可直接运行的示例代码、新手高频报错案例、乱码根治方案,帮你一次性避开占位符报错、运算符短路、编码乱码三大新手重灾区,筑牢Python编程底层根基。


目录

  1. 格式化输出:百分号占位符、f-string、转义与类型强制规范

  2. 全套运算符:算术/比较/赋值/逻辑/成员运算符详解

  3. 字符编码:ASCII/GBK/Unicode/UTF-8区别与Python版本差异

  4. 补充语法:循环进阶、pass占位、in/not in实战场景

  5. 新手必看:高频报错与避坑总结


一、格式化输出:新手最易踩坑的基础语法

1.1 主流格式化方案对比

Python目前常用三种格式化方式,零基础优先掌握**%占位符f-string**,前者兼容旧代码,后者简洁高效(Python3.6+推荐)。

格式化方式语法特点适用场景推荐指数
% 占位符传统写法,区分数据类型兼容Python2、老旧项目⭐⭐⭐
str.format()兼容强,无需区分类型通用项目、多参数排版⭐⭐⭐⭐
f-string简洁直观,直接嵌入变量日常开发、新手编码⭐⭐⭐⭐⭐

1.2 %占位符核心规则

占位符用于预留字符串位置,后续填充变量,核心区分数据类型,填错直接报错:

  • %s:字符串占位符,万能占位符,可接收数字、列表、字符串等任意类型

  • %d:整数占位符,仅接收整型,传入字符串/浮点数直接抛类型错误

  • %f:浮点数占位符,默认保留6位小数,可手动限定精度

1.3 实战案例:个人信息模板输出

# 接收用户终端输入(input默认获取字符串类型)name=input("请输入姓名:")age=int(input("请输入年龄:"))# 强制转为整型,适配%dheight=float(input("请输入身高(m):"))address=input("请输入所在地:")# 多行模板格式化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,程序报错)age=input("年龄:")print("年龄:%d"%age)# 正确写法(先转整型再格式化)age=int(input("年龄:"))print("年龄:%d"%age)

1.6 极简推荐:f-string格式化(Python3专属)

无需区分占位符、无需拼接字符串,直接在{}中写入变量/表达式,新手首选:

name="Tom"score=92.5# 直接嵌入变量,自动适配类型print(f"学生姓名:{name},考试分数:{score:.1f}")# 支持直接运算print(f"总分翻倍:{score*2}")

二、基本运算符:程序计算与判断的核心

运算符是Python实现计算、判断、逻辑推理的基础,优先级和短路规则是新手高频易错点。

2.1 算术运算符(数值计算专用)

预设变量:a = 10,b = 3

运算符功能说明示例代码运行结果
+加法/字符串拼接a + b、“py”+“thon”13、python
-减法/取负a - b7
*乘法/字符串重复a * b、“Hi”*330、HiHiHi
/浮点除法(必出小数)a / b3.3333333
//整除(向下取整)a // b3
%取模(求余数)a % b1
**幂运算(次方)a ** b1000

2.2 比较运算符(返回True/False)

用于条件判断,所有运算结果只有两个:真True、假False,是if、while语句的基础

运算符说明示例(a=10)结果
==等于(判断值是否相同)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 y:x为真直接返回x,x为假返回y

  • x and y:x为真直接返回y,x为假返回x

print(8or4)# 8(非0为真,直接返回前者)print(0and3)# 0(0为假,直接返回前者,短路不执行后者)print(not0)# True(0代表假,取反为真)

三、字符编码:彻底根治中文乱码

编码是新手乱码、文件报错的根源,弄懂编码原理,从此告别问号乱码、方框乱码。

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编码,原生支持中文,无需额外声明,新手推荐直接使用Python3

3.3 数据存储单位换算(必记)

计算机最小单位是比特(bit),文件存储基础单位是字节(Byte)

8 bit = 1 Byte (1字节=8位二进制) 1024 Byte = 1KB 1024 KB = 1MB 1024 MB = 1GB 1024 GB = 1TB

3.4 乱码根治核心原则

编码乱码本质:文件保存编码 ≠ 程序读取编码

最佳实践:所有Python文件、文本文件统一使用UTF-8编码,彻底杜绝乱码!


四、补充进阶语法

4.1 while-else 循环进阶

核心规则:循环正常执行完毕(无break跳出),才会执行else代码块;break终止循环则不执行

index=1whileindex<5:ifindex==3:break# 强制跳出循环,else不执行print("当前数字:",index)index+=1else:print("循环无中断,正常结束")

4.2 pass 占位语句

pass是空语句,什么都不执行,仅用于占位补全语法结构,避免缩进报错:

# 临时预留分支逻辑,后续补充if10>5:pass# 无pass会直接语法报错else:print("条件不成立")

4.3 in / not in 成员运算符

判断元素是否存在于字符串、列表等序列中,常用于敏感词过滤、数据检索

# 敏感词过滤实战comment=input("请输入评论内容:")if"垃圾"incommentor"违规"incomment:print("评论包含敏感词,发布失败")else:print("评论发布成功!")# not in 反向判断word="python"if"java"notinword:print("字符串中无java")

五、新手高频报错与避坑总结

  • 格式化报错:%d传入字符串 → 先用int()/float()完成类型转换

  • 百分号显示异常:格式化内用%%转义,普通字符串直接用%

  • 逻辑判断报错:区分赋值=和比较==,条件判断必须用双等号

  • 中文乱码:Python2头部声明编码,所有文件统一保存为UTF-8

  • 循环else不执行:检查是否被break强制跳出循环

  • 缩进报错:空代码块必须添加pass占位


结语

格式化输出、运算符、字符编码是Python最底层的三大基石,也是新手入门的第一道门槛。运算符决定程序如何计算判断,格式化输出规范数据展示,编码规则解决中文乱码问题。

建议逐行敲写文中示例代码,牢记编码统一规则、运算符优先级、格式化类型约束,打好基础后,后续学习爬虫、数据分析、Web开发时会事半功倍!