Python输入与格式化输出详解

 更新时间:2026年07月16日 09:07:00   作者:二宝哥  
本文系统介绍了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}岁了")

注意事项:

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

%格式化特点:

  • 兼容性好,支持所有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, 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 3.6+:优先使用f-string,语法简洁,性能好
  • 兼容旧版本:使用%占位符或str.format()方法
  • 复杂格式化:f-string和str.format()都支持丰富的格式化选项

换行控制建议:

  • 默认使用end='\n'保持换行,提高可读性
  • 需要连续输出时使用end=''end=' '
  • 进度条、倒计时等场景适合使用不换行输出

掌握这些输入输出技巧,能让你的Python程序更加友好和灵活。

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

相关文章

  • Python中的复制操作及copy模块中的浅拷贝与深拷贝方法

    Python中的复制操作及copy模块中的浅拷贝与深拷贝方法

    浅拷贝和深拷贝是Python基础学习中必须辨析的知识点,这里我们将为大家解析Python中的复制操作及copy模块中的浅拷贝与深拷贝方法:
    2016-07-07
  • python中的各种运算符介绍

    python中的各种运算符介绍

    这篇文章主要介绍了python中的各种运算符,主要包括内容有比较运算符、​赋值运算符、位运算符、逻辑运算符、​成员运算符的相关介绍,需要的小伙伴可以参考一下
    2022-04-04
  • Python实现阶乘的四种写法

    Python实现阶乘的四种写法

    本文主要介绍了Python实现阶乘的六种写法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01
  • 在pycharm创建scrapy项目的实现步骤

    在pycharm创建scrapy项目的实现步骤

    这篇文章主要介绍了在pycharm创建scrapy项目的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python数据库安装及MySQL Connector应用教程

    Python数据库安装及MySQL Connector应用教程

    这篇文章主要为大家介绍了Python数据库安装及MySQL Connector应用教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Python-jenkins模块获取jobs的执行状态操作

    Python-jenkins模块获取jobs的执行状态操作

    这篇文章主要介绍了Python-jenkins模块获取jobs的执行状态操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python3.6连接MySQL的详细步骤

    Python3.6连接MySQL的详细步骤

    在现代Web开发和数据处理中,Python与数据库的交互是必不可少的一部分,MySQL作为最流行的开源关系型数据库管理系统之一,与Python的结合可以实现高效的数据存取操作,本文将介绍如何在Python 3.6环境中通过​​pymysql​​库连接到MySQL数据库,需要的朋友可以参考下
    2025-04-04
  • Python中的heapq模块源码详析

    Python中的heapq模块源码详析

    这篇文章主要给大家介绍了关于Python中heapq模块的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • pycharm 在debug循环时快速debug到指定循环次数的操作方法

    pycharm 在debug循环时快速debug到指定循环次数的操作方法

    在 PyCharm 中,可以使用条件断点来实现在特定循环次数后停止调试,本文重点介绍pycharm 在debug循环时快速debug到指定循环次数的操作方法,需要的朋友可以参考下
    2024-04-04
  • python实现逆序输出一个数字的示例讲解

    python实现逆序输出一个数字的示例讲解

    今天小编就为大家分享一篇python实现逆序输出一个数字的示例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06

最新评论