码迷,mamicode.com
首页 > 其他好文 > 详细

raw_input功能

时间:2016-05-12 01:33:11      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

摘要: raw_input()  &  input()     

 

raw_input的功能是方便的从控制台读入数据。

 inputraw_input都是Python的内建函数,实现与用户的交互,但是功能不同。

一、raw_input

     下面介绍让raw_input的几种功能。

1、输入字符串

1>>> raw_input_A = raw_input("raw_input:")
2 raw_input:abc
3>>>type(raw_input_A)
4 <type str>

  上面输入的abc为字符串str类型

2、输入整数

1 >>> raw_input_A = raw_input("input int:")
2 input int:abc
3 >>>type(raw_input_A)
4 <type str>

  输入的123也为字符串 str 类型

3、输入浮点数

1 >>> raw_input_A = raw_input("input a float:")
2  input a float:1.2
3 >>>type(raw_input_A)
4  <type str>

  输入1.2为字符串 str 类型

4、输入16进制数

1 >>> raw_input_A = raw_input("input Hex:")
2  input Hex:0X20
3 >>>type(raw_input_A)
4  <type str>

   输入0X20为字符串str类型

5、输入八进制数

1 >>> raw_input_A = raw_input("input Oct:")
2  input Oct:110
3 >>>type(raw_input_A)
4  <type str>

   输入八进制数为字符串 str 类型

 

二、input

1、输入整数

1 >>> input_A = input("input int:")
2  int:123
3 >>>type(input_A)
4  <type int>

   输入123为整型 int

2、输入浮点数

1 >>> input_A = raw_input("input a float:")
2  input a float:1.2
3 >>>type(input_A)
4  <type float>

3、输入八进制数

1 >>>input_a = input("input H:")
2 input H:00H3
3 Traceback (most recent call last):
4   File "<stdin>", line 1, in ?
5   File "<string>", line 1
6     00H3
7       ^
8 SyntaxError: unexpected EOF while parsing
9 >>>

    输入003H报语法错,input无法识别

4、十六进制类似八进制

5、输入字符串

1 >>> input_a = input("input string:")
2 input string:abc
3 Traceback (most recent call last):
4   File "<stdin>", line 1, in ?
5   File "<string>", line 0, in ?
6 NameError: name abc is not defined
7 >>> 

    输入字符串abc, 提示未定义错误

1 >>> input_a = input("input string:")
2 input string:abc
3 >>> type(input_a)
4 <type str>
5 >>> 

   输入‘abc‘,可以正确识别,为str类型

 

raw_input  与  input 的区别

   这两个函数都可以读取用户的输入,不同的是input()函数要求用户输入有效的表达式,而raw_input()函数将用户输入的任意类型数据都转换为一个字符串。

 

当输入纯数字时

>>>raw_input返回字符串类型,string

>>> input返回的是数值类型,如int、float

 

输入字符串表达式时

>>> input() 会计算字符串中的数字表达式,而raw_input()不会

1 >>> input(3+8)
2 11
3 >>> raw_input(3+8)
4 11
5 ‘‘

 

Python input的实现

   查看Built-in-functions可得知,input是由 raw_input实现的:

input([prompt])
   Equivalent to eval(raw_input(prompt)).
  
    input()本质上是由raw_input()来实现,调用raw_input()后再调用eval()函数,所有,可以将表达式作为input()的参数,且会计算表达式的值并返回。
    built-in-function中还说:
Consider using the raw_input() function for general input from users.
   除了特殊需要,一般情况下建议使用raw_input()函数。
从 raw_input() 到 input()
Python 2.X
   在2.x版本中:
     raw_input() 会从标准输入(sys.stdin)读取输入值并返回一个字符串,且尾部换行符从末尾移除。
     input()不同,需要输入有效的表达式,如3+8,‘abc‘。
Python 3
   在Python 3中,将raw_input()重命名为 input(),这样一来,无需导入也可从标准输入获得数据。如需要保留2.X版本的 input() 功能, 可以使用 eval_r(input()), 效果基本相同。

raw_input功能

标签:

原文地址:http://www.cnblogs.com/testing-way/p/5484122.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!