
图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|男

图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}岁啦!")

图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分支结构(if语句),开启程序逻辑判断的学习!
Python输入输出与格式化技巧
Python零基础
Python入门
Python实战
f-string

渝公网安备50022402001073号
Pingback: Python 零基础入门系列专栏:10 + 篇干货从环境搭建到语法实战,小白一站式学 Python - 小白 编程 笔记
Pingback: Python零基础入门系列专栏:10+篇干货从环境搭建到语法实战,小白一站式学Python - 小白 编程 笔记