python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python输入与格式化输出

Python输入与格式化输出详解

作者:二宝哥

本文系统介绍了Python的输入输出核心功能,首先讲解input()函数获取用户输入的方法及注意事项,然后详细对比两种主要格式化输出方式,接着深入解析print()函数的end参数如何控制换行行为,需要的朋友可以参考下

摘要:本文系统介绍了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}岁了")

注意事项:

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填充,宽度10

f-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)

%格式化特点:

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, World

3.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程序更加友好和灵活。

以上就是Python输入与格式化输出详解的详细内容,更多关于Python输入与格式化输出的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文