Python最基本的输入输出详解


Posted in Python onApril 25, 2015

输出

用print加上字符串,就可以向屏幕上输出指定的文字。比如输出'hello, world',用代码实现如下:

>>> print 'hello, world'

print语句也可以跟上多个字符串,用逗号“,”隔开,就可以连成一串输出:

>>> print 'The quick brown fox', 'jumps over', 'the lazy dog'
The quick brown fox jumps over the lazy dog

print会依次打印每个字符串,遇到逗号“,”会输出一个空格,因此,输出的字符串是这样拼起来的:

print-howto

print也可以打印整数,或者计算结果:

>>> print 300
300
>>> print 100 + 200
300

因此,我们可以把计算100 + 200的结果打印得更漂亮一点:

>>> print '100 + 200 =', 100 + 200
100 + 200 = 300

注意,对于100 + 200,Python解释器自动计算出结果300,但是,'100 + 200 ='是字符串而非数学公式,Python把它视为字符串,请自行解释上述打印结果。
输入

现在,你已经可以用print输出你想要的结果了。但是,如果要让用户从电脑输入一些字符怎么办?Python提供了一个raw_input,可以让用户输入字符串,并存放到一个变量里。比如输入用户的名字:

>>> name = raw_input()
Michael

当你输入name = raw_input()并按下回车后,Python交互式命令行就在等待你的输入了。这时,你可以输入任意字符,然后按回车后完成输入。

输入完成后,不会有任何提示,Python交互式命令行又回到>>>状态了。那我们刚才输入的内容到哪去了?答案是存放到name变量里了。可以直接输入name查看变量内容:

>>> name
'Michael'

什么是变量?请回忆初中数学所学的代数基础知识:

设正方形的边长为a,则正方形的面积为a x a。把边长a看做一个变量,我们就可以根据a的值计算正方形的面积,比如:

若a=2,则面积为a x a = 2 x 2 = 4;

若a=3.5,则面积为a x a = 3.5 x 3.5 = 12.25。

在计算机程序中,变量不仅可以为整数或浮点数,还可以是字符串,因此,name作为一个变量就是一个字符串。

要打印出name变量的内容,除了直接写name然后按回车外,还可以用print语句:

>>> print name
Michael

有了输入和输出,我们就可以把上次打印'hello, world'的程序改成有点意义的程序了:

name = raw_input()
print 'hello,', name

运行上面的程序,第一行代码会让用户输入任意字符作为自己的名字,然后存入name变量中;第二行代码会根据用户的名字向用户说hello,比如输入Michael:

C:\Workspace> python hello.py
Michael
hello, Michael

但是程序运行的时候,没有任何提示信息告诉用户:“嘿,赶紧输入你的名字”,这样显得很不友好。幸好,raw_input可以让你显示一个字符串来提示用户,于是我们把代码改成:

再次运行这个程序,你会发现,程序一运行,会首先打印出please enter your name:,这样,用户就可以根据提示,输入名字后,得到hello, xxx的输出:

C:\Workspace> python hello.py
please enter your name: Michael
hello, Michael

每次运行该程序,根据用户输入的不同,输出结果也会不同。

在命令行下,输入和输出就是这么简单。
小结

任何计算机程序都是为了执行一个特定的任务,有了输入,用户才能告诉计算机程序所需的信息,有了输出,程序运行后才能告诉用户任务的结果。

输入是Input,输出是Output,因此,我们把输入输出统称为Input/Output,或者简写为IO。

raw_input和print是在命令行下面最基本的输入和输出,但是,用户也可以通过其他更高级的图形界面完成输入和输出,比如,在网页上的一个文本框输入自己的名字,点击“确定”后在网页上看到输出信息。

 

Python 相关文章推荐
Python中map,reduce,filter和sorted函数的使用方法
Aug 17 Python
Python中字符串格式化str.format的详细介绍
Feb 17 Python
浅析python打包工具distutils、setuptools
Apr 20 Python
利用Python实现在同一网络中的本地文件共享方法
Jun 04 Python
解决nohup执行python程序log文件写入不及时的问题
Jan 14 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
Feb 13 Python
使用python接入微信聊天机器人
Mar 31 Python
python 一维二维插值实例
Apr 22 Python
PyCharm 2020.2 安装详细教程
Sep 25 Python
python用tkinter实现一个简易能进行随机点名的界面
Sep 27 Python
如何使用Django Admin管理后台导入CSV
Nov 06 Python
K近邻法(KNN)相关知识总结以及如何用python实现
Jan 28 Python
在GitHub Pages上使用Pelican搭建博客的教程
Apr 25 #Python
介绍Python的Django框架中的静态资源管理器django-pipeline
Apr 25 #Python
在IIS服务器上以CGI方式运行Python脚本的教程
Apr 25 #Python
研究Python的ORM框架中的SQLAlchemy库的映射关系
Apr 25 #Python
Python的ORM框架中SQLAlchemy库的查询操作的教程
Apr 25 #Python
Python实现单词拼写检查
Apr 25 #Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
Apr 25 #Python
You might like
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
php设计模式之单例模式实例分析
2015/02/25 PHP
php ci 获取表单中多个同名input元素值的代码
2016/03/25 PHP
php 使用html5实现多文件上传实例
2016/10/24 PHP
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
js读取json文件片段中的数据实例
2017/03/09 Javascript
JS实现的添加弹出层并完成锁屏操作示例
2017/04/07 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
2017/07/02 Javascript
Vue axios 中提交表单数据(含上传文件)
2017/07/06 Javascript
jQuery封装animate.css的实例
2018/01/04 jQuery
详解小程序rich-text对富文本支持方案
2018/11/28 Javascript
vue webpack打包后图片路径错误的完美解决方法
2018/12/07 Javascript
微信小程序sessionid不一致问题解决
2019/08/30 Javascript
使用eslint和githooks统一前端风格的技巧
2020/07/29 Javascript
基于JavaScript实现大文件上传后端代码实例
2020/08/18 Javascript
分享8个JavaScript库可更好地处理本地存储
2020/10/12 Javascript
[02:57]2014DOTA2国际邀请赛 选手辛苦解说更辛苦
2014/07/10 DOTA
[57:38]2018DOTA2亚洲邀请赛3月30日 小组赛A组 OpTic VS OG
2018/03/31 DOTA
Python实现栈的方法
2015/05/26 Python
Python实现优先级队列结构的方法详解
2016/06/02 Python
Python检测生僻字的实现方法
2016/10/23 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
2018/06/05 Python
Python对象与引用的介绍
2019/01/24 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
2020/02/25 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
草莓网化妆品日本站:Strawberrynet日本
2017/10/20 全球购物
PHP中如何创建和修改数组
2012/05/02 面试题
采购主管岗位职责
2014/02/01 职场文书
演讲稿格式
2014/04/30 职场文书
献爱心标语
2014/06/21 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
法人代表身份证明书及授权委托书
2014/09/16 职场文书
学习教师敬业奉献模范事迹材料思想汇报
2014/09/19 职场文书
导游词之江南周庄
2019/12/06 职场文书
浅谈Redis缓冲区机制
2022/06/05 Redis
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers