当前位置:首页>python>《Python 从入门到精通》007 | Python 的基本输入输出:程序如何和人交流

《Python 从入门到精通》007 | Python 的基本输入输出:程序如何和人交流

  • 2026-09-10 14:29:13
《Python 从入门到精通》007 | Python 的基本输入输出:程序如何和人交流

学到现在,你已经会写最简单的 Python 代码了。

比如:

print('你好,Python')

这行代码会把内容显示出来。 这叫输出。

可问题来了。

如果程序只能输出,不能接收人的信息,那它就像一个只会说话、不会听你说话的人。这样当然也能写代码,但总感觉差点意思。

真正有用的程序,往往都离不开两件事。

先接收信息 再给出结果

这就是今天要讲的输入和输出。

你可以先记住一句最简单的话。

输入,就是把信息交给程序。 输出,就是程序把结果告诉你。

把这个逻辑理解透,后面你写计算器、成绩统计、用户登录、信息录入这些程序,都会轻松很多。

一、什么是输出

输出你其实已经接触过了。

最常见的输出方式,就是 print()。

比如:

print('欢迎学习 Python')

运行后,屏幕上会显示:

欢迎学习 Python

这就是输出。

程序把一段内容显示给你看,这个过程就叫输出。

你也可以输出数字:

print(100)

输出结果:

100

还可以输出计算结果:

print(10 + 5)

输出结果:

15

所以你会发现,print() 的作用其实很直接。

把你想让程序展示的内容,显示到屏幕上。

这就是最基础的输出。

二、什么是输入

输入,就是程序从外部拿到信息。

这个信息可以是用户键盘输入的内容,也可以是以后从文件、网页、数据库里读到的数据。 但对现在的你来说,最先接触的是用户从键盘输入。

在 Python 里,最常见的输入方式是 input()。

先看最简单的例子:

input()

你运行这行代码时,程序会停在那里,等你输入内容。

你在键盘上输入一段文字,比如:

你好

然后按回车,程序才会继续往下走。

不过,只有 input() 还不够。 因为你虽然输入了内容,但程序如果不把它保存起来,后面就用不了。

所以最常见的写法是:

name = input()print(name)

你运行以后,程序会先等你输入。 比如你输入:

小明

然后按回车。 接着程序会把你输入的内容输出出来。

运行效果大概是这样:

小明小明

第一个 小明 是你自己输入的。 第二个 小明 是程序打印出来的。

这说明什么。

说明 input() 接收到了你输入的信息,并且通过变量 name 把它保存了下来。

三、输入和输出连起来,程序才开始像个程序

只会输出,程序像广播。 只会输入,程序像记事本。 输入和输出连起来,程序才真正开始互动。

比如下面这段代码:

name = input()print('你好')print(name)

你输入:

小红

运行结果大概是:

小红你好小红

这个程序已经开始有一点交流的味道了。

它先接收你的名字, 然后对你说你好, 再把你的名字显示出来。

虽然还很简单,但已经比单纯写一句 print() 更进一步了。

四、给输入加提示,程序会更友好

如果你只写:

name = input()

程序运行时,会停住等输入,但屏幕上没有任何提示。 新手可能会愣一下,不知道现在该干嘛。

所以更常见、更推荐的写法是,在 input() 里加一句提示语。

例如:

name = input('请输入你的名字:')print('你好,', name)

当程序运行时,屏幕上会先显示:

请输入你的名字:

这时用户就知道,哦,程序是在等我输入名字。

假设你输入:

小明

结果就会变成:

请输入你的名字:小明你好, 小明

这里你要重点记住:

input() 不只是接收输入 它还可以顺便显示提示信息

以后你写程序时,尽量都给用户加提示。 这样程序会清楚很多,也更像正常软件。

五、自己先做一个完整小练习

现在别只看,最好立刻动手。

新建一个文件,比如叫 input_test.py,然后输入下面代码:

name = input('请输入你的名字:')print('欢迎你,', name)

保存并运行。

如果你用终端运行,可以输入:

python input_test.py

或者 Windows 上:

py input_test.py

程序运行后,你输入自己的名字,按回车。 看一下结果是不是正确。

然后你再改一改提示语,比如改成:

name = input('请告诉我你叫什么:')print('原来你叫', name)

你只要自己亲手改一遍,就会明显感觉到输入输出的逻辑开始清楚了。

六、输入的内容,默认都是文字

这一点非常关键,也是新手最容易踩坑的地方。

先看一段代码:

age = input('请输入你的年龄:')print(age)

如果你输入:

18

程序当然能正常输出:

18

看起来好像没问题。 但实际上,这里的 18 现在还是文字,不是真正的数字。

什么意思。

也就是说,input() 接收到的内容,默认会按字符串来处理。 哪怕你输入的是 18、99、1000,在 Python 眼里,它一开始也是一段文字。

你可以自己验证一下:

age = input('请输入你的年龄:')print(age)print(type(age))

如果输入:

18

你会看到类似结果:

18<class 'str'>

这个 str 表示字符串,也就是文字。

所以你一定要记住:

input() 拿到的内容,默认都是字符串。

七、为什么这件事很重要

因为如果你以为它是数字,后面做计算时就容易出问题。

比如你写:

a = input('请输入第一个数字:')b = input('请输入第二个数字:')print(a + b)

你以为输入 10 和 20,结果应该是 30。 但实际运行时,如果你输入:

1020

输出结果很可能是:

1020

为什么会这样。

因为 a 和 b 现在都是字符串。 字符串相加,不是数学计算,而是拼接。

也就是说:

'10' + '20'

结果自然就是:

'1020'

这就是为什么输入默认是文字这件事特别重要。 你不理解这个点,后面很多计算都容易写错。

八、想让输入变成数字,要做类型转换

既然 input() 默认拿到的是文字,那如果你真的想算年龄、总价、分数,该怎么办。

很简单,把它转成数字。

最常见的方式就是 int()。

例如:

age = int(input('请输入你的年龄:'))print(age)print(type(age))

如果你输入:

18

结果就会变成真正的整数。

再看一个加法例子:

a = int(input('请输入第一个数字:'))b = int(input('请输入第二个数字:'))print(a + b)

如果输入:

1020

输出结果才会是:

30

你可以把这句代码拆开理解。

先让 input() 接收输入 再让 int() 把接收到的文字转成整数 最后把结果交给变量

虽然看起来比之前长一点,但逻辑并不复杂。

九、再做一个真正有用的小程序

下面我们写一个很像样的小练习。

场景是这样的:

让用户输入商品单价和购买数量,程序自动计算总价。

代码如下:

price = float(input('请输入商品单价:'))count = int(input('请输入购买数量:'))total = price * countprint('商品总价是:', total)

这里为什么单价用 float(),数量用 int()。

因为单价可能有小数。比如 19.9 元。 而数量一般是整数,比如买 3 个、5 个。

假设你输入:

19.93

程序输出:

商品总价是: 59.699999999999996

看到这里你可能会吓一跳。

怎么不是 59.7。

先别慌,这不是你写错了,而是浮点数计算在计算机里有时候会出现这种显示效果。现在你先知道这是正常现象就行,后面讲数字类型时我会专门解释怎么处理。

如果你想让结果更好看一点,也可以先这样写:

price = float(input('请输入商品单价:'))count = int(input('请输入购买数量:'))total = price * countprint(f'商品总价是:{total}')

十、输入输出最适合写什么入门程序

非常适合写各种信息收集和小计算。

比如下面这些,都是你现在就能试的。

用户姓名欢迎程序

name = input('请输入你的名字:')print(f'欢迎你,{name}')

年龄查询程序

age = int(input('请输入你的年龄:'))print(f'你今年{age}岁')

长方形面积计算

length = float(input('请输入长:'))width = float(input('请输入宽:'))area = length * widthprint(f'长方形面积是:{area}')

考试总分计算

chinese = int(input('请输入语文成绩:'))math = int(input('请输入数学成绩:'))english = int(input('请输入英语成绩:'))total = chinese + math + englishprint(f'总分是:{total}')

你会发现,程序突然开始有实际用途了。 这就是输入输出真正有意思的地方。

十一、新手最容易犯的几个输入错误

这一段你很可能马上就会遇到,提前看一下,能省不少时间。

第一个错误,忘了保存输入结果。

比如你写:

input('请输入你的名字:')print(name)

这就会报错。因为你只是让程序接收输入了,但没有把结果保存到 name 里。

正确写法应该是:

name = input('请输入你的名字:')print(name)

第二个错误,想计算,却忘了转数字。

比如:

a = input('请输入第一个数字:')b = input('请输入第二个数字:')print(a + b)

这会变成拼接,不是加法。

正确写法:

a = int(input('请输入第一个数字:'))b = int(input('请输入第二个数字:'))print(a + b)

第三个错误,输入的内容和转换类型不匹配。

比如你写:

age = int(input('请输入年龄:'))

结果用户输入的是:

十八

这时候程序就会报错。因为 int() 只能把像 18、20、100 这种数字形式的文字转成整数,不能把中文数字直接转过去。

第四个错误,提示写得不清楚。

比如:

a = input('请输入:')

用户可能根本不知道你到底要他输入什么。

所以提示语最好具体一点,比如:

a = input('请输入你的手机号:')

或者:

a = input('请输入商品名称:')

程序越明确,用户越不容易输错。

十二、自己动手做一个信息录入程序

下面这个练习很适合你现在做。

新建一个文件,比如 user_info.py,输入:

name = input('请输入你的姓名:')age = int(input('请输入你的年龄:'))city = input('请输入你所在的城市:')print('你输入的信息如下:')print(f'姓名:{name}')print(f'年龄:{age}')print(f'城市:{city}')

运行一遍,输入你自己的真实信息。

然后你再改一下,让它多收集一项内容,比如职业:

name = input('请输入你的姓名:')age = int(input('请输入你的年龄:'))city = input('请输入你所在的城市:')job = input('请输入你的职业:')print('你输入的信息如下:')print(f'姓名:{name}')print(f'年龄:{age}')print(f'城市:{city}')print(f'职业:{job}')

这个小练习非常好,因为它把输入和输出完整连起来了。

先输入 再保存 再输出

这就是后面大量程序的雏形。

十三、再做一个更像样的计算器小练习

下面再来一个很实用的。

让用户输入两个数字,程序输出它们的和、差、积。

num1 = float(input('请输入第一个数字:'))num2 = float(input('请输入第二个数字:'))print(f'两数之和:{num1 + num2}')print(f'两数之差:{num1 - num2}')print(f'两数之积:{num1 * num2}')

你运行以后,试着输入:

12.53

看看输出结果。

然后你再自己加一行:

print(f'两数之商:{num1 / num2}')

这样这个小程序就更完整了。

这时候你会明显感觉到,程序已经不只是展示固定内容了,而是在根据你的输入,动态给出不同结果。

十四、为什么输入输出是后面所有知识的入口

你后面会学判断语句。

比如用户输入年龄,程序判断是否成年。

你后面会学循环。

比如用户不断输入成绩,程序持续统计。

你后面会学函数。

比如把输入的数据交给函数去处理。

你后面会学文件、数据库、爬虫。

本质上也都是输入和输出,只不过输入来源不再是键盘,输出目标也不再只是屏幕。

所以别看今天讲得基础,实际上这是后面很多知识的起点。

只要你真正明白:

程序怎么拿到数据 程序怎么把结果告诉人

后面的路就会顺很多。

十五、今天你至少要亲手完成这三个练习

第一,写一个输入姓名并欢迎用户的小程序。

name = input('请输入你的名字:')print(f'欢迎你,{name}')

第二,写一个输入两个数字并求和的小程序。

a = int(input('请输入第一个数字:'))b = int(input('请输入第二个数字:'))print(f'结果是:{a + b}')

第三,写一个输入单价和数量并计算总价的小程序。

price = float(input('请输入单价:'))count = int(input('请输入数量:'))print(f'总价是:{price * count}')

这三个你只要真的亲手敲一遍,今天这篇就不是白学。

十六、写在最后

编程一开始最让人有成就感的时刻,往往不是写出多复杂的程序,而是你输入一段信息,程序真的按照你的意思给了你回应。

这种感觉很重要。

因为从这一刻开始,你写的代码不再只是单向展示。 它开始接收信息,开始处理信息,开始和人互动。

而这,才是程序真正有生命力的开始。

输入和输出看起来基础,但你千万别小看它。 后面很多更复杂的功能,本质上都只是把今天这件事做得更复杂了一点。

所以今天这篇文章,不要只是看懂。 一定要自己动手敲,亲自输入、亲自运行、亲自看到结果。

本文小结

print() 用来输出内容到屏幕。input() 用来接收用户输入。 输入的内容默认都是字符串。 如果要参与数字计算,通常要用 int() 或 float() 做类型转换。 学输入输出最好的方式不是背,而是自己写几个小程序跑起来。

下篇预告

第 8 篇,我们来讲一个很多新手刚开始最容易忽略,但后面又特别重要的内容。                

注释、缩进与代码规范 一开始就把写代码的习惯养对,后面会轻松很多。

最新文章

随机文章