当前位置:首页>python>第21课 Python 输入与输出

第21课 Python 输入与输出

  • 2026-09-10 07:50:02
第21课 Python 输入与输出

课前温馨提示:学习过程遇到代码报错、看不懂的知识点,可以在评论区留言提问,大家一同交流探讨!

课程前言

程序和用户沟通依靠 输入、输出: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.基础语法

变量 = input("屏幕上的提示文字")
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:逗号直接分隔输出

适合简单快速打印,自带空格间隔

a = 10print("a的值为",a)
四、综合完整实操案例

简易计算器,接收两个数字,计算二者相加结果

# 获取输入并且转为浮点型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公斤

课程结尾提示:做完三道练习题,如果出现输入报错、输出格式异常,可以在评论区粘贴你的代码,进行留言咨询!

最新文章

随机文章