raw_input功能


摘要: 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()), 效果基本相同。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM