摘要:本文系统介绍了python的输入输出核心功能。首先讲解input()函数获取用户输入的方法及注意事项。然后详细对比两种主要格式化输出方式:现代简洁的f-string(python 3.6+)和传统兼容的%占位符格式化,包括语法示例和适用场景。接着深入解析print()函数的end参数如何控制换行行为,演示默认换行、不换行输出及其他分隔符的使用。最后通过综合示例展示实际应用,并提供格式化输出与换行控制的实用建议。
1. python输入:input()函数
python中使用input()函数获取用户输入,它会将用户输入的内容作为字符串返回。
# 基本用法
name = input("请输入你的名字:")
print(f"你好,{name}!")
输入数字需要类型转换
age = int(input("请输入你的年龄:"))
print(f"明年你就{age + 1}岁了")注意事项:
input()函数会阻塞程序执行,等待用户输入- 所有输入内容都会被当作字符串处理
- 如果需要数字,必须使用
int()或float()进行转换
2. python格式化输出
python提供了多种格式化输出的方式,这里重点介绍两种最常用的方法。
2.1 f-string(格式化字符串字面值)
f-string是python 3.6引入的现代格式化方法,语法简洁直观。
# 基本用法
name = "张三"
age = 25
print(f"姓名:{name},年龄:{age}")
表达式计算
a = 10
b = 20
print(f"{a} + {b} = {a + b}")
格式化数字
pi = 3.1415926
print(f"π的值:{pi:.2f}") # 保留两位小数
print(f"π的值:{pi:.4f}") # 保留四位小数
对齐和填充
number = 42
print(f"数字:{number:>10}") # 右对齐,宽度10
print(f"数字:{number:<10}") # 左对齐,宽度10
print(f"数字:{number:^10}") # 居中对齐,宽度10
print(f"数字:{number:0>10}") # 用0填充,宽度10f-string优点:
- 语法简洁,直接在字符串中嵌入变量
- 支持表达式计算
- 性能优于其他格式化方法
- 可读性高
2.2 %占位符格式化
这是python传统的格式化方法,使用%操作符。
# 基本用法
name = "李四"
age = 30
print("姓名:%s,年龄:%d" % (name, age))
常用格式符
%s - 字符串
%d - 十进制整数
%f - 浮点数
%x - 十六进制整数
%o - 八进制整数
浮点数格式化
price = 99.99
print("价格:%.2f元" % price) # 保留两位小数
print("价格:%10.2f元" % price) # 宽度10,保留两位小数
多个变量
x = 10
y = 20
z = 30
print("x=%d, y=%d, z=%d" % (x, y, z))
字典形式
person = {"name": "王五", "age": 35}
print("姓名:%(name)s,年龄:%(age)d" % person)%格式化特点:
- 兼容性好,支持所有python版本
- 格式符明确指定类型
- 支持字典形式的格式化
3. print()函数的换行控制
print()函数的end参数控制输出结束时的字符,默认是换行符\n。
3.1 默认换行
# 默认end='\n',每次print后换行
print("第一行")
print("第二行")
# 输出:
# 第一行
# 第二行3.2 不换行输出
# 设置end='',不换行
print("hello", end='')
print("world")
# 输出:helloworld
用空格分隔
print("hello", end=' ')
print("world")
输出:hello world
用逗号分隔
print("hello", end=', ')
print("world")
输出:hello, world3.3 其他分隔符
# 用制表符分隔
print("姓名", end='\t')
print("张三")
用多个空格
print("开始", end=' ')
print("结束")
自定义分隔符
print("第一部分", end=' --- ')
print("第二部分")
print("第三部分", end=' >>> ')
print("第四部分")3.4 sep参数与end参数的区别
# sep控制多个参数之间的分隔符,默认是空格
print("a", "b", "c") # 输出:a b c
print("a", "b", "c", sep=',') # 输出:a,b,c
end控制整个print结束后的字符
print("第一行", end=' | ')
print("第二行") # 输出:第一行 | 第二行
同时使用sep和end
print("x", "y", "z", sep='-', end=' -> ')
print("结束") # 输出:x-y-z -> 结束4. 综合示例
# 用户输入和格式化输出综合示例
print("=== 用户信息录入 ===")
获取用户输入
name = input("请输入姓名:")
age = int(input("请输入年龄:"))
height = float(input("请输入身高(米):"))
使用f-string格式化输出
print(f"\n使用f-string格式化:")
print(f"姓名:{name:>10}")
print(f"年龄:{age:>10}岁")
print(f"身高:{height:>10.2f}米")
使用%占位符格式化输出
print(f"\n使用%占位符格式化:")
print("姓名:%10s" % name)
print("年龄:%10d岁" % age)
print("身高:%10.2f米" % height)
不换行输出示例
print(f"\n个人信息汇总:", end=' ')
print(f"姓名:{name}", end=', ')
print(f"年龄:{age}", end=', ')
print(f"身高:{height:.2f}")5. 总结与建议
格式化输出选择建议:
- python 3.6+:优先使用f-string,语法简洁,性能好
- 兼容旧版本:使用%占位符或
str.format()方法 - 复杂格式化:f-string和
str.format()都支持丰富的格式化选项
换行控制建议:
- 默认使用
end='\n'保持换行,提高可读性 - 需要连续输出时使用
end=''或end=' ' - 进度条、倒计时等场景适合使用不换行输出
掌握这些输入输出技巧,能让你的python程序更加友好和灵活。
以上就是python输入与格式化输出详解的详细内容,更多关于python输入与格式化输出的资料请关注代码网其它相关文章!
发表评论