Python的输入输出
一:Python2.x版本下的输入输出
Python2.x 下的输入
1)raw_input
格式:result = raw_input("提示信息")
功能:1)会等待用户输入内容,直到用户按下Enter 2)会将用户输入的内容当做"字符串",传递给接收的变量 2)input 格式:result = input("提示信息")
功能: 1):会等待用户输入内容,直到用户按下Enter
2):会将用户输入的内容当做"代码" 进行处理! 可以理解为input = raw_input + eval
content = raw_input("Please input content:: ")
print(type(content))
print(content)
输出结果:
Please input content:: 1+1
<type 'str'>
1+1
当我们输出abcd时候
Please input content:: abcd
<type 'str'>
abcd
此时可以看出不论我们输入什么内容,raw_input都当做字符串来处理了。但是Python2.x版本下的input却不是如此
result = input("Please input content:: ")
print(type(result))
print(result)
输出结果:
Please input content:: 1+1
<type 'int'>
2
而当我们输出内容为abc的时候会发生什么呢?
Please input content:: abc
Traceback (most recent call last):
File "G:/PythonProject/DemoTest01/css/001/PythonInput.py", line 23, in <module>
result = input("Please input content:: ")
File "<string>", line 1, in <module>
NameError: name 'abc' is not defined
此时报错了,说abc是未定义的。此时可以看出Python2.x版本下的input输入是把用户输入的内容当做"代码一样"来处理
# content = "1+1"
content = raw_input("Please input content:: ")
result = eval(content)
print type(result)
print(result)
输出结果为:
Please input content:: 1+1
<type 'int'>
2
此时可以看出raw_input + eval()函数可以实现input的效果
Python2.x 下的输出
Python2.x print语句 print xxx
# Python2.x版本
# 输出一个值
print 123 # 输出一个变量
num = 20
print num # 输出多个变量
num1 = 21
print num, num1 # 格式化输出
name = "Lucy"
age = 17
# 例如我想输出 我的名字叫xxx,年龄xxx
print "我的名字叫", name, ",年龄", age print "我的名字叫%s,年龄%d" % (name, age) print "我的名字叫{0},年龄{1}".format(name, age) # 输出到文件当中
f = open("test.txt", "w")
print >> f, "hello word" # 输出不自动换行
print ""
print ""
print ""
# 以上会自动换行,下面的不会自动换行
print "",
print "",
print "" # 输出的各个数据,使用分隔符进行分割
print "a", "-", "b", "-", "c"
print "-".join(["a", "b", "c"])
输出结果为:
123
20
20 21
我的名字叫 Lucy ,年龄 17
我的名字叫Lucy,年龄17
我的名字叫Lucy,年龄17
1
2
3
1 2 3
a - b - c
a-b-c
而且test.txt确实写入了数据

Python3.x版本下的输入
Python3.x版本的
input 相当于Python2.x版本中的raw_input 如果想要在Python3.x版本中实现类似于Python2.x中的input功能,可以使用eval()函数实现
result = input("Please input content:: ")
print(type(result))
print(result)
输出结果为::
Please input content:: 1+1
<class 'str'>
1+1
当我们输入内容为abc的时候
Please input content:: abc
<class 'str'>
abc
result = input("Please input content:: ")
ret = eval(result)
print(type(ret))
print(ret)
输出结果为::
Please input content:: 1+1
<class 'int'>
2
Python3.x版本下的输出
Python3.x print函数 print(values,sep,end,file,flush)
values:需要输出的值 多个值,使用","分割
sep:分割符,多个值被输出以后,值与值之间,会添加指定的分隔符
end: 1):输出完毕以后,以指定的字符结束 2):默认是换行'\n'
file:表示输出的目标。默认是标准的输出(控制台) 还可以是一个可以写入的文件句柄
flush:表示立即输出的意思 值为Bool类型
# 导入文件
import sys
from time import sleep # Python3.x版本下
# 输出一个值
print(123) # 输出一个变量
num = 6
print(num) # 输出多个变量
num1 = 8
print(num, num1) # 格式化输出
name = "cxq"
age = 27
# 输出:我的名字是xxx,年龄xxx
print("我的名字是%s,年龄%d"%(name, age))
print("我的名字是{0},年龄{1}".format(name, age)) # 输出到文件当中
f = open("test.txt", "w")
print("what are you doing?", file=f) # 标准输出
print("how are you", file=sys.stdout) # 输出不换行
print("abc", end="")
print("efg", end="\n") # 输出各个数据,使用分隔符分割
print("", "", "", sep="-")
输出结果为::
123
6
6 8
我的名字是cxq,年龄27
我的名字是cxq,年龄27
how are you
abcefg
1-2-3
关于flush参数的说明::
# flush 参数的说明
print("hello world", end="") # 如果我在这里停留5秒钟,会发现hello world不会立即刷新出来到控制台上面,(其实是在缓冲区里面),而是5秒之后才打印出来
sleep(5)
# 但是如果我换一种方法以后,hello world就会立马刷新到控制台上面
print("hello world", end="\n")
print("hello world\n", end="") sleep(5)
或者使用
# flush 就是刷新缓冲区数据,立即输出的作用
print("hello world", end="", flush=True)
sleep(5)
这三种方式都会是缓冲区里面的内容立马刷新出来
Python的输入输出的更多相关文章
- python之--输入输出
python之输出 用print加上字符串,就可以向屏幕上输出指定的文字.用代码实现如下: >>> print "i love baby!" i love bab ...
- numpy常用功能总结、python格式化输入输出
#coding:utf-8 #author:徐卜灵 ##################### #由于在各大公司笔试的时候总是会遇到一些格式化输入输出数据,今天就来总结一下. #结合numpy来处理数 ...
- Python的输入输出的应用
输入输出主要掌握print()和input()两个函数的应用. #print函数用于控制台输出 print('I love Python.','So I want to learn it.','I b ...
- python学习-输入输出
Python的输入和输出非常方便,下面详细记录一下 任何计算机程序都是为了执行一个特定的任务,有了输入,用户才能告诉计算机程序所需的信息,有了输出,程序运行后才能告诉用户任务的结果.输入是Input, ...
- Python字符串输入输出简述
字符串输入 Python用到的输入一般有两种方式,input() 和 raw_input() ,区别是,前者只能输入数字,后者输入的是字符串,使用如下: In [226]: help(input) H ...
- 我的Python学习之路 Python的输入输出与基本数据类型
*** python中的变量不需要事先声明再使用,而可以直接来一个变量名,后面一个赋值,接着一个数据值,如 hw = "hello python",相当于Python能智能的根据你 ...
- Python python的输入输出
#-*- coding:utf-8 -*- #屏蔽中文乱码方案一(官方推荐) #这个语句必须顶行写 #屏蔽中文乱码方案二(不建议使用) '''#coding=utf-8 ''' #input(),输入 ...
- Python 处理输入输出
sys.stdin.read() 用于接收标准输入,也就是让用户通过键盘进行输入sys.stdout.write() 用于打印标准输出,也就是把输入的数据输出到屏幕sys.stderr.write() ...
- Python学习-14.Python的输入输出(三)
在Python中写文件也是得先打开文件的. file=open(r'E:\temp\test.txt','a') file.write('append to file') file.close() 第 ...
- Python学习-13.Python的输入输出(二)
在Python中,读取文件使用open函数 file=open(r'E:\temp\test.txt','r') var = file.read() print(var) file.close() 第 ...
随机推荐
- 一次Mysql连接池卡死导致服务无响应问题分析(.Net Mysql.Data 6.9.9)
问题: 进程启动后,线程数迅速上升至最小线程数后,缓慢上升(线程池限制)到数千,然后由于线程过多,CPU飙升到90%. 对外表现为Api无响应或连接超时. 背景 有些数据存在于另一个机房,通过内网专线 ...
- BZOJ5125: [Lydsy1712月赛]小Q的书架(DP决策单调性)
题意:N个数,按顺序划分为K组,使得逆序对之和最小. 思路:之前能用四边形不等式写的,一般网上都还有DP单调性分治的做法,今天也尝试用后者写(抄)了一遍.即: 分成K组,我们进行K-1次分治,get( ...
- HDU3555 Bomb 数位DP第一题
The counter-terrorists found a time bomb in the dust. But this time the terrorists improve on the ti ...
- spring自定义标签学习
看到几篇很全的自定义标签,从定义到使用,写的很好. 这里我也是在那里学习的,对学习spring源码也很有帮助. 贴出来与大家共享. http://sammor.iteye.com/blog/11009 ...
- Codeforces 1030F 【线段树】【好题】
LINK 题目大意: 给你n个物品,每一个物品有一个位置p和一个权值w,移动一个物品的代价是移动距离*物品权值 有q个询问: 把第i个物品的权值变成j 问把第l到第r个物品移动到一个相邻的区间中\([ ...
- appium python实例脚本1
#coding=utf-8import os, time, unittestfrom appium import webdriver PATH = lambda p:os.path.abspath(o ...
- 《DSP using MATLAB》示例Example 8.18
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
- 静态和全局变量的作用域zz
全局变量和静态变量的存储方式是一样的,只是作用域不同.如果它们未初始化或初始化为0则会存储在BSS段,如果初始化为非0值则会存储在DATA段,见进程的地址空间分配一文. 静态变量的作用域是当前源文件, ...
- 【最全 干货 实例】 缓存手册(Memcached、redis、RabbitMQ)
http://www.cnblogs.com/suoning/p/5807247.html 本章内容: Memcached 简介.安装.使用 Python 操作 Memcached 天生支持集群 re ...
- 转发,重定向以及区别和简单的session对象
1.转发 作用:在多个页面交互过程中实现请求数据的共享. 过程:Web服务器内部将一个request请求的处理权交给另外一个资源,属于同一个访问请求和响应过程,所以request对象的 ...