一、引言

在Python编程中,输入(Input)输出(Output)是程序与用户交互的核心方式,也是实现数据传递、功能落地的基础。无论是简单的控制台交互,还是复杂的文件读写、数据展示,都需要遵循Python既定的输入输出规则。掌握这些规则,能让程序更规范、更易维护,同时避免常见的语法错误和逻辑漏洞。本文将详细拆解Python输入与输出的核心规则、用法及注意事项,帮助初学者快速上手。


二、Python输入规则:input()函数的使用规范

Python中输入的核心函数是input(),其作用是接收用户从控制台输入的内容,并将其作为字符串返回。输入规则的核心是“接收输入、转换类型、处理异常”,避免因输入不符合预期导致程序崩溃。

1. 基础语法规则

input()函数的基本语法的两种形式,需遵循“提示信息可选、返回值必处理”的规则:

  • 无提示输入:input(),调用后控制台会等待用户输入,用户输入内容后按回车键确认,函数返回输入的内容(默认是字符串类型)

示例:content = input(),用户在运行框内输入“Python”,则content变量的值为"Python"。(运行过程不明显这里不做代码演示。)

  • 带提示输入:input(提示信息),提示信息是字符串(需加引号),用于告知用户需要输入的内容,提升交互体验,语法需严格遵循“input("提示文本")”。

示例:name = input("请输入你的姓名:"),控制台会显示“请输入你的姓名:”,等待用户输入。

name = input("请输入你的姓名:")

运行框如下图所示:

关键规则:无论用户输入的是数字、布尔值还是其他类型,input()函数的返回值永远是字符串类型,若需使用其他类型(如整数、浮点数),必须手动进行类型转换,这是输入环节最容易出错的点。

2. 输入类型转换规则

当需要接收数字类型(整数、浮点数)的输入时,需使用int()、float()函数进行类型转换,转换需遵循“输入内容与目标类型匹配”的规则,否则会触发ValueError异常。

  • 转换为整数:int(input(提示信息)),要求用户输入的内容必须是纯数字(可带正负号),不能包含字母、符号、空格。

示例:若用户输入“20”,则age为整数20;

age = int(input("请输入你的年龄:"))

若输入“20a”,则报错,运行框如下图所示:

  • 转换为浮点数:float(input(提示信息)),允许用户输入小数或整数,转换后为浮点数。

示例:score = float(input("请输入你的成绩:")),用户输入“95.5”,输入“95”。

score1 = float(input("请输入你的成绩:"))
score2 = float(input("请输入你的成绩:"))
print(score1)
print(score2)

结果中score1和score2的输出结果都是95.0,具体如下图运行框所示:

3. 多输入处理规则

当需要一次性接收多个输入时,可结合split()方法实现,核心规则是“用指定分隔符分割输入内容,再转换为对应类型”,常用分隔符为空格(默认)、逗号等。

示例1(空格分隔):a, b = input("请输入两个数字,用空格分隔:").split(),用户输入“3 5”,则a="3"、b="5",需进一步转换为整数:a = int(a),b = int(b)。

a, b = input("请输入两个数字,用空格分隔:").split()
a = int(a)
b = int(b)
print(a,b)

运行框内容如下图所示:

示例2(逗号分隔):x, y ,m,n= input("请输入四个数据,用逗号分隔:").split(","),用户输入“6,3.14,love,小羊羔heihei”,转换后x=3.14、y=5.67、z=2.13(需用int(),float(),str(),bool()转换)。

x,y,m,n = input("请输入四个数据,用逗号分隔:").split(",")
x = int(x)
y = float(y)
m = str(m)
n = bool(n)
print(x,y,m,n)

运行框结果如下图所示:

注意:split()方法默认按空格分割,若输入内容的分隔符与指定不符,会导致变量赋值失败(如输入时用逗号分隔,却未指定split(",")),需严格匹配分隔符。


三、输出的通用规则与注意事项

除了上述针对input()的具体规则,Python输出还有一些通用规范,需牢记于心,避免踩坑:

  1. 交互友好性:输入时添加清晰的提示信息,告知用户输入内容、格式要求;输出时内容简洁明了,避免冗余,必要时添加分隔符、换行,提升可读性。

  2. 兼容性:不同Python版本(如Python 2.x与Python 3.x)的输入输出存在差异,Python 3.x中print()必须带括号,input()统一返回字符串;Python 2.x中print可不带括号,raw_input()对应Python 3.x的input(),开发时需注意版本兼容性。


四、总结

Python输入的规则,本质是“语法规范+逻辑合理+交互友好”。input()函数的核心是接收用户输入,牢记“默认返回字符串”的规则,按需进行类型转换和异常处理。


五、经典例题

任务1:电子名片格式化生成任务

任务描述
假设你正在参加一个技术交流会,需要编写代码生成一个格式化的电子名片。
任务要求

  • 定义变量,需定义以下 4 个不同类型的变量:
  1. 字符串变量 name :存储你的姓名。
  2. 整数变量 age :存储你的年龄。
  3. 浮点数变量 height :存储你的身高(单位:米)。
  4. 布尔变量 isstudent :存储你当前是否是学生。

名片生成
使用 + 运算符将上述变量拼接成一个完整的名片字符串,并打印出来。
注意:由于 + 不能直接拼接字符串和非字符串类型,需先将 age 、 height 、 is_student 等非字符串变量通过 str() 函数转换为字符串后再拼接。

具体代码如下:

name_01,age_01,height_01,is_student_01 = input("请分别输入你的姓名,年龄,身高和是否为学生身份(中间用分号隔开):").split(";")
name_02=str(name_01)
age_02=int(age_01)
height_02=float(height_01)
is_student_02=bool(is_student_01)
print(f'大家好,我叫{name_02},今年{age_02}岁,身高{height_02}米,是否为学生身份{is_student_02}。')

运行框运行结果如下:

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐