课前温馨提示:学习过程遇到代码报错、看不懂的知识点,可以在评论区留言提问,大家一同交流探讨!
课程前言
程序和用户沟通依靠 输入、输出:print()负责把程序的数据打印到控制台,input()接收键盘用户录入的数据,二者是所有交互式程序、计算器、小游戏最基础的核心函数。本节课拆解全部隐藏参数、特殊规则、新手高频踩坑细节,搭配实操代码进行讲解。
一、标准输出 print() 完整详解
1.基础语法
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
参数详细解释
参数 | 默认值 | 功能说明 |
*objects | 无 | 可以一次性打印多个任意类型数据,逗号隔开 |
sep | 空格 ' ' | 多个输出内容之间的分隔符号 |
end | 换行符\n | 整条语句打印结束之后的结尾字符,默认自动换行 |
file | 控制台 | 可以指定把内容写入本地文件,而非屏幕打印 |
flush | False | 是否强制刷新缓冲区,立刻输出内容 |
2.基础代码示例
# 1.输出单个内容print("Hello Python")print(666)# 2.一次性输出多个内容,默认中间空格隔开print("姓名","小李","年龄",19)
3.核心高级参数实操
(1)sep 自定义分隔符
# 使用短横线分隔日期print("2026","08","11",sep="-")# 输出:2026-08-11# 设置为空字符,取消间隔空格print("我","是","学生",sep="")# 输出:我是学生
(2)end 修改结尾,关闭自动换行
默认每一条print执行完毕自动换行,修改end即可实现多条打印输出在同一行
print("第一部分",end="、")print("第二部分",end="。")# 输出:第一部分、第二部分。
(3)file 参数:输出写入本地文件
# 将文字写入txt文档,utf‑8防止中文乱码print("欢迎学习Python输入输出",open("test.txt","w",encoding="utf‑8"))
(4)flush 强制刷新缓存
程序输出会先存放在缓冲区;flush=True可以强制立刻输出,适合倒计时、进度条代码
import timefor i in range(3,0,-1): print(i,end=" ",flush=True) time.sleep(1)
print特殊知识点
1. 空函数 print() 代表单纯输出一次换行;
2. 数字、布尔、列表等数据可以直接打印,print会自动转为字符串;
3. 字符串加号拼接只可以拼接字符串,逗号分隔不需要纠结数据类型。
二、标准输入 input() 函数详解
1.基础语法
2.最核心硬性特性(90%新手踩坑)
input函数接收的所有用户输入,永远返回字符串str类型
哪怕你在键盘输入数字 20,得到的值也是字符串 "20",不能直接用来加减计算。
age = input("请输入你的年龄:")print(type(age))# 运行结果 <class 'str'>
3.输入的数据类型转换
想要录入数字参与运算,必须手动使用int()、float()完成类型转换
# 转为整数age = int(input("请输入年龄:"))print(age + 1)# 转为小数浮点数height = float(input("输入身高:"))print(height)
4.input隐藏细节知识点
1. 程序运行到input时会 暂停阻塞,等待用户按下回车键之后代码才会继续往下运行;
2. 输入内容自带空格会完整保留,不会自动截断;
3. 直接回车、空白输入,返回空字符串 "",依旧属于字符串类型;
4. 输入无法自动校验对错,输入字母强行转整数会直接报错,需要异常捕获处理错误输入。
5.错误输入容错写法(进阶)
try: num = int(input("请输入整数数字:")) print("数字是",num)except ValueError: print("输入错误,请输入纯整数!")
三、四种格式化输出方法
用来把变量和文字组合输出,日常开发优先使用f‑string
方式1:f‑string(Python3.6+ 首选,最简单)
name = "小王"score = 95.5print(f"学生{name}本次考试分数为{score}分")# 小数保留一位print(f"分数:{score:.1f}")
方式2:.format() 格式化
print("{}今年{}岁".format("小张",20))# 指定下标顺序print("{1}的成绩是{0}".format(88,"小明"))
方式3:百分号 % 旧式格式化
price = 12.5print("商品价格 %.2f 元" % price)
方式4:逗号直接分隔输出
适合简单快速打印,自带空格间隔
四、综合完整实操案例
简易计算器,接收两个数字,计算二者相加结果
# 获取输入并且转为浮点型n1 = float(input("请输入第一个数字:"))n2 = float(input("请输入第二个数字:"))res = n1 + n2print(f"两数相加结果 = {res}")
五、新手易错坑点完整汇总
1. input返回值永远是字符串,数字运算必须手动做类型转换;直接输入数字相加只会执行字符串拼接;
2. print逗号分隔参数默认自带空格,需要紧凑输出使用 sep="";
3. end参数可以关闭自动换行,倒计时、进度条程序必备;
4. 所有提示文字、字符串必须使用英文引号;
5. 把数字和字符串直接使用加号+拼接代码会报错;
6. 文件输出时设置encoding="utf‑8",避免中文乱码;
7. input不会自动过滤空格、换行,回车即结束本次输入。
六、课后练习题(共3题,附带参考答案)
习题1(基础输入转换)
接收用户输入的年份,输出用户明年的年份
习题2(print参数练习)
使用一条print,输出 2026/08/11,自定义分隔符为斜杠,并且关闭末尾自动换行
习题3(格式化输出综合题)
录入姓名、体重,使用f‑string打印:XX的体重是XX公斤
课程结尾提示:做完三道练习题,如果出现输入报错、输出格式异常,可以在评论区粘贴你的代码,进行留言咨询!