04 Python输入输出与格式化技巧:零基础从入门到实战

Python输入输出与格式化技巧是零基础学Python的第一堂课,写代码第一件事就是和控制台交互:怎么打印内容、怎么接收用户输入、怎么让输出更美观。这篇文章我会用最通俗的话,从print()、input()到f-string,一步步讲透,搭配实战案例,帮你彻底吃透,写出规范又好用的Python代码!

Python输入输出与格式化技巧总览

图1:Python输入输出与格式化技巧总览示意图

一、基础输出:print() 函数,打印内容的核心工具

print() 是Python最基础的输出函数,作用就是把内容打印到控制台,不管是数字、文字、变量,都能用它输出,新手第一个接触的就是它。

1. 最基础的用法

# 输出单个内容,直接写就行
print("Hello Python")
print(100)
print(3.14)
print(True)

# 输出多个内容,用逗号分隔,默认用空格隔开
name = "小白"
age = 18
print(name, age, "岁")  # 输出:小白 18 岁

2. 自定义分隔符和结束符,让输出更灵活

print() 有两个超实用的参数,很多新手不知道:
sep:自定义多个内容之间的分隔符,默认是空格
end:自定义输出结束后的符号,默认是换行符 \n(也就是打印完自动换行)

# 自定义分隔符:用-连接多个数字
print(1, 2, 3, sep="-")  # 输出:1-2-3

# 自定义结束符:不换行,用***结尾
print("Hello", end="***")
print("Python")  # 输出:Hello***Python(两个内容在同一行)

# 结合使用,做表格分隔
print("姓名", "年龄", "性别", sep="|", end="\t")
print("小白", 18, "男", sep="|")  # 输出:姓名|年龄|性别	小白|18|男

Python输入输出与格式化技巧 print()参数

图2:Python print()函数参数示意图

二、基础输入:input() 函数,接收用户输入的核心工具

input() 是Python的基础输入函数,用来接收用户在控制台输入的内容。这里有个新手必记的关键点:不管用户输入什么,input() 最终返回的都是字符串类型,想做数值运算必须先转换类型!

1. 最基础的用法

# 无提示语输入(不推荐,用户不知道要输什么)
content = input()
print("你输入的内容是:", content)

# 带提示语输入(推荐,友好清晰)
name = input("请输入你的姓名:")
age = input("请输入你的年龄:")
print(f"你好,{name},今年{age}岁")

2. 输入内容的类型转换,新手必踩坑

新手必踩坑提醒

input() 返回的是字符串!比如用户输入18,拿到的是”18″(字符串),不是18(整数),直接做加法会变成字符串拼接,而不是数值运算!

#  错误示例:字符串直接做数值运算
num1 = input("请输入第一个数:")
num2 = input("请输入第二个数:")
# print(num1 + num2)  # 输入10和20,会输出1020(字符串拼接),不是30!

#  正确做法:先转成int/float类型,再运算
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
print("两数之和:", num1 + num2)  # 输入10和20,输出30,正确!

# 接收小数输入,转float类型
height = float(input("请输入你的身高(米):"))
weight = float(input("请输入你的体重(公斤):"))
bmi = weight / (height ** 2)
print("你的BMI指数是:", round(bmi, 2))

三、3种字符串格式化方式,让输出更美观

格式化输出就是把变量和固定文本完美结合,让打印结果更整洁、更易读。Python里有3种主流方式,其中f-string是Python3.6+官方推荐的,简洁高效,新手直接学这个就够了!

1. % 格式化(旧式,了解即可)

这是Python早期的格式化方式,用占位符匹配变量,比如%s(字符串)、%d(整数)、%f(浮点数),现在基本不用了,新手了解就行。

# 基本用法
name = "小白"
age = 18
score = 95.5
print("姓名:%s,年龄:%d,成绩:%f" % (name, age, score))

# 浮点数保留小数(%.2f 保留2位)
print("成绩:%.1f" % score)  # 输出:成绩:95.5

2. str.format() 格式化(中阶,兼容旧版本)

format() 是对%格式化的优化,用{}做占位符,不用区分数据类型,支持按位置、按名称匹配,兼容性好,适合需要兼容Python旧版本的场景。

# 按位置匹配(默认)
name = "小白"
age = 18
print("姓名:{},年龄:{}".format(name, age))

# 按名称匹配(推荐,可读性高)
print("姓名:{n},年龄:{a},成绩:{s}".format(n=name, a=age, s=95.5))

# 浮点数保留小数
print("BMI指数:{:.2f}".format(22.5678))  # 输出:BMI指数:22.57

3. f-string 格式化(高阶,Python3.6+推荐,必学)

f-string 是目前最推荐的格式化方式,在字符串前加f/F,直接在{}里写变量,简洁到爆炸,可读性超强,还支持直接在{}里做运算、保留小数,Python3.6及以上版本直接用!

# 基本用法(最简洁,没有之一)
name = "小白"
age = 18
score = 95.5
print(f"姓名:{name},年龄:{age},成绩:{score}")

# 浮点数保留小数(核心用法)
bmi = 22.5678
print(f"BMI指数:{bmi:.2f}")  # 保留2位:22.57
print(f"BMI指数:{bmi:.1f}")  # 保留1位:22.6
print(f"成绩:{score:.0f}")   # 保留0位(取整):96

# 直接在{}里做运算(不用额外定义变量)
a = 10
b = 20
print(f"10+20={a+b},10*20={a*b}")  # 输出:10+20=30,10*20=200

# 结合input()使用(实战最常用)
name = input("请输入你的姓名:")
age = int(input("请输入你的年龄:"))
print(f"{name},明年你就{age+1}岁啦!")

Python输入输出与格式化技巧 3种格式化方式对比

图3:Python 3种字符串格式化方式对比示意图

四、实战案例:学生信息录入系统,综合应用所有知识点

我们用一个「学生信息录入与展示」的小案例,把input()类型转换、f-string格式化、print()自定义输出全部串起来,贴近实际开发场景,新手可以直接复制运行,感受效果。

# 学生信息录入与展示系统
print("===== 学生信息录入 =====", sep="")
name = input("请输入学生姓名:")
gender = input("请输入学生性别:")
age = int(input("请输入学生年龄:"))
chinese = float(input("请输入语文成绩:"))
math = float(input("请输入数学成绩:"))
english = float(input("请输入英语成绩:"))

# 计算总分和平均分
total = chinese + math + english
avg = total / 3

# 格式化展示信息(用^n实现居中对齐,让输出更美观)
print("\n===== 学生信息展示 =====", sep="")
print(f"姓名:{name:^10} 性别:{gender:^5} 年龄:{age:^3}岁", sep="")
print(f"语文:{chinese:^6.1f} 数学:{math:^6.1f} 英语:{english:^6.1f}", sep="")
print(f"总分:{total:^7.1f} 平均分:{avg:^6.2f}", sep="")

# 运行效果示例:
# ===== 学生信息录入 =====
# 请输入学生姓名:小白
# 请输入学生性别:男
# 请输入学生年龄:18
# 请输入语文成绩:92.5
# 请输入数学成绩:98
# 请输入英语成绩:95
# 
# ===== 学生信息展示 =====
# 姓名:    小白     性别:  男   年龄: 18 岁
# 语文:  92.5   数学:  98.0   英语:  95.0
# 总分:  285.5   平均分:95.17

五、新手高频易错点总结,一次性避开所有坑

我整理了新手在输入输出和格式化操作中最容易踩的5个坑,帮你少走弯路:

易错点1:input()返回值是字符串,直接做数值运算

错误示例:输入10和20,用input()直接相加,结果是1020(字符串拼接),不是30。
解决办法:用int()/float()先做类型转换,再运算。

易错点2:字符串和数字直接用+拼接

错误示例:print(“年龄是” + 18),直接报错。
解决办法:用f-string(推荐),或者把数字转成字符串str(18)。

易错点3:f-string格式化浮点数时,格式写错

错误示例:{bmi:2f}(少了小数点),正确写法是{bmi:.2f},保留2位小数。

易错点4:print()多个值用+连接,类型不匹配

错误示例:print(“年龄是” + 18),正确做法:用逗号分隔print(“年龄是”, 18),或者用f-string。

易错点5:混淆3种格式化方式,混用语法

比如在f-string里用%s占位,或者在%格式化里用{},新手直接学f-string就够了,不用混着用。

六、核心知识点总结(快速复习)

  • print() 用于输出,sep自定义分隔符,end自定义结束符,默认换行
  • input() 用于输入,返回值默认是字符串,数值运算前必须转int/float
  • 3种格式化方式:%格式化(旧式)、format()(中阶)、f-string(高阶,推荐)
  • f-string 是Python3.6+最优选择,直接在{}写变量,支持运算、保留小数
  • 浮点数格式化核心:{变量:.2f} 保留2位小数,{变量:.0f} 取整
  • 实战优先用「input()类型转换 + f-string格式化 + print()」组合,简洁高效

本文是Python零基础入门系列的第4篇文章,是巩固输入输出与格式化技巧的核心教程。更多新手能看懂的Python教程,可查看往期文章:
Python数据类型实战练习
Python变量与变量名全解析
想深入了解Python官方语法,可参考Python官方print()函数文档
Python官方f-string文档

本文为「小白编程笔记」原创内容 · Python零基础入门系列
版权声明:本文所有内容(含代码、图片、文字)均为原创,未经授权禁止任何形式的转载、抄袭、洗稿
如需转载,请联系作者获得授权,并在正文开头显著位置标注原文链接和作者信息!
下一篇我们将学习Python分支结构(if语句),开启程序逻辑判断的学习!

文章标签:
Python输入输出与格式化技巧
Python零基础
Python入门
Python实战
f-string
滚动至顶部
渝公网安备50022402001073号  |  渝ICP备2026004448号   © 2026 小白编程笔记