本篇笔记总结了Python的输入输出核心用法------input()负责"接收用户输入",print()负责"把内容展示出来",还掌握了几种输出格式化的技巧,整理成极简笔记,新手也能轻松看懂~
目录
[1. 百分号(%)格式化(偏老写法)](#1. 百分号(%)格式化(偏老写法))
[2. format()方法格式化(灵活写法)](#2. format()方法格式化(灵活写法))
[3. f-string格式化(推荐!简洁写法)](#3. f-string格式化(推荐!简洁写法))
一、输入函数:input()
核心作用:从控制台接收用户输入,程序会暂停等待用户输入,按回车键后才继续执行。
基本用法
python
# 基础输入:提示文字引导用户输入
name = input("请输入你的名字:")
print("你输入的名字是:", name)
# 新手必避坑:input()返回值永远是字符串
age = input("请输入你的年龄:")
# print(age + 1) # 报错!age是字符串"18",不能和整数相加
# 正确做法:数字输入需类型转换
age = int(input("请输入你的年龄:"))
print("明年你的年龄是:", age + 1) # 正常运行,输出年龄+1
代码解释&关键点
input("提示文字")里的提示语会先显示在控制台,引导用户输入;- 无论用户输入数字、文字,input()返回的都是字符串(比如输入18,得到的是"18"而非整数18);
- 若要将输入的数字用于数学运算,需用
int()/float()做类型转换; - 输入时按回车键,程序才会继续执行后续代码。
二、输出函数:print()
核心作用:把内容输出到控制台,是Python最常用的函数,用法比想象中灵活。
基本用法
python
# 输出单个对象
print("Hello Python")
# 输出多个对象(逗号分隔,默认用空格隔开)
name = "小明"
age = 18
print("姓名:", name, "年龄:", age) # 输出:姓名: 小明 年龄: 18
# 自定义分隔符(sep参数)
print("苹果", "香蕉", "橙子", sep="|") # 输出:苹果|香蕉|橙子
# 自定义结尾符(end参数,默认是换行\n)
print("第一行内容", end="") # 结尾不换行
print("第二行内容跟在后面") # 输出:第一行内容第二行内容跟在后面
# 输出空行
print()
print("空行上面是空白~")
代码解释&关键点
- print()可输出任意类型的对象(字符串、数字、列表等);
- 多个对象用逗号分隔时,默认用空格做分隔符,可通过
sep参数修改(如sep="|"); - print()默认输出后换行,可通过
end参数修改(如end=""不换行、end="\t"加制表符); - 直接写
print()可输出空行,用于排版分隔。
三、输出格式化:让内容更规整
当需要按指定格式输出(比如保留小数、补零、拼接变量),有3种常用方式,优先推荐最后一种!
1. 百分号(%)格式化(偏老写法)
通过%占位符指定格式,后面用%拼接变量,需注意占位符和变量类型匹配。
常用占位符:
- %s:字符串(万能占位符,适配任意类型);
- %d:整数(%06d表示补零到6位);
- %f:浮点数(%.2f表示保留2位小数)。
python
name = "小红"
score = 98.5
rank = 2
# 基础用法
print("姓名:%s,分数:%f,排名:%d" % (name, score, rank)) # 输出:姓名:小红,分数:98.500000,排名:2
# 格式化优化(保留2位小数、排名补零到3位)
print("姓名:%s,分数:%.2f,排名:%03d" % (name, score, rank)) # 输出:姓名:小红,分数:98.50,排名:002
代码解释&关键点
- 占位符数量、类型需和后面的变量匹配(比如%d对应整数);
- %03d表示整数不足3位时前面补0,%.2f表示浮点数保留2位小数;
- %s是万能占位符,哪怕变量是数字也能正常输出。
2. format()方法格式化(灵活写法)
用
{}做占位符,通过format()传入变量,无需严格匹配类型,更灵活。
python
# 基础用法(按索引)
print("姓名:{},分数:{},排名:{}".format(name, score, rank)) # 输出:姓名:小红,分数:98.5,排名:2
# 指定索引(可打乱顺序、重复使用)
print("排名{1}的{0},分数:{2},再次强调:{2}".format(name, rank, score)) # 输出:排名2的小红,分数:98.5,再次强调:98.5
# 命名占位符(更易读)
print("姓名:{n},分数:{s:.2f},排名:{r:03d}".format(n=name, s=score, r=rank)) # 输出:姓名:小红,分数:98.50,排名:002
代码解释&关键点
- {}里可写索引(从0开始)或命名(如{n}),匹配format()里的参数;
- {}内可直接指定格式(如{s:.2f}保留2位小数);
- 无需严格匹配类型,比百分号写法更友好。
3. f-string格式化(推荐!简洁写法)
Python3.6+支持,字符串前加
f/F,直接在{}里写变量/表达式,最简洁易读。
python
# 基础用法
print(f"姓名:{name},分数:{score},排名:{rank}") # 输出:姓名:小红,分数:98.5,排名:2
# 格式化+表达式(直接计算)
print(f"姓名:{name},分数:{score:.2f},排名:{rank:03d}") # 输出:姓名:小红,分数:98.50,排名:002
print(f"如果分数加2分:{score + 2}") # 直接计算,输出:如果分数加2分:100.5
代码解释&关键点
- 字符串前必须加
f/F(如f"内容"),{}内直接写变量名,无需额外拼接; - 支持在{}里写格式化规则(和format()一致);
- 支持在{}里写表达式(如
score + 2),直接计算后输出; - 写法最简洁、可读性最高,是日常开发首选!
小结
- input()接收输入,返回字符串,数字需用int()/float()转换后才能运算;
- print()输出内容,可通过sep改分隔符、end改结尾符;
- 输出格式化优先用f-string,简洁灵活;百分号写法偏老,format()适合复杂场景。
表格总结:

相信你多练几次,就能轻松掌握这些用法啦~