av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

創(chuàng)新互聯(lián)Python教程:python中使用rawinput失敗的原因

這兩個(gè)均是 python 的內(nèi)建函數(shù),通過(guò)讀取控制臺(tái)的輸入與用戶(hù)實(shí)現(xiàn)交互。但他們的功能不盡相同。舉兩個(gè)小例子。

創(chuàng)新互聯(lián)建站聯(lián)系熱線:13518219792,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)建站網(wǎng)頁(yè)制作領(lǐng)域十余年,包括水電改造等多個(gè)領(lǐng)域擁有多年的網(wǎng)站營(yíng)銷(xiāo)經(jīng)驗(yàn),選擇創(chuàng)新互聯(lián)建站,為網(wǎng)站保駕護(hù)航!

1.輸入為純數(shù)字時(shí)
input返回的是數(shù)值類(lèi)型,如int,float
raw_inpout返回的是字符串類(lèi)型,string類(lèi)型

#!/usr/bin/python
# -*- coding: UTF-8 -*-
a = input('input:')
print 'type of input', type(a)
b = raw_input('raw_input:')
print 'type of raw_input', type(b)

輸出:

input:1
type of input 
raw_input:1
type of raw_input 

2.輸入為計(jì)算公式時(shí)

#!/usr/bin/python
# -*- coding: UTF-8 -*-
a = input('input:')
print a
b = raw_input('raw_input:')
print b

輸出:

input:1+2
3
raw_input:1+2
1+

3.輸入為字符串時(shí)

#!/usr/bin/python
# -*- coding: UTF-8 -*-
b = raw_input('raw_input:')
print b
a = input('input:')
print a

輸入a:

raw_input:a
a
input:a
Traceback (most recent call last):
  File "D:/python_learning/test/cookbook/input raw_input.py", line 5, in 
    a = input('input:')
  File "", line 1, in 
NameError: name 'a' is not defined
輸入'a':
raw_input:'a'
'a'
input:'a'
a

從對(duì)比中可以 看出,raw_input() 直接讀取控制臺(tái)的輸入(任何類(lèi)型的輸入它都可以接收)。而對(duì)于 input() ,它希望能夠讀取一個(gè)合法的 python 表達(dá)式,即你輸入字符串的時(shí)候必須使用引號(hào)將它括起來(lái),否則它會(huì)引發(fā)一個(gè) SyntaxError 。

raw_input() 將所有輸入作為字符串看待,返回字符串類(lèi)型。而 input() 在對(duì)待純數(shù)字輸入時(shí)具有自己的特性,它返回所輸入的數(shù)字的類(lèi)型( int, float ),input() 可接受合法的 python 表達(dá)式,舉例:input( 1 + 3 ) 會(huì)返回 int 型的 4 。

查看實(shí)現(xiàn)方式:

def input(prompt=None): # real signature unknown; restored from __doc__
    """
    input([prompt]) -> value
    
    Equivalent to eval(raw_input(prompt)).
    """
    pass

input() 本質(zhì)上還是使用 raw_input() 來(lái)實(shí)現(xiàn)的,只是調(diào)用完 raw_input() 之后再調(diào)用 eval() 函數(shù),所以,你甚至可以將表達(dá)式作為 input() 的參數(shù),并且它會(huì)計(jì)算表達(dá)式的值并返回它。

不過(guò)在 Built-in Functions 里有一句話是這樣寫(xiě)的:Consider using the raw_input() function for general input from users.

eval()這個(gè)函數(shù)是將字符串str當(dāng)成有效的表達(dá)式來(lái)求值并返回計(jì)算結(jié)果,存在一定的風(fēng)險(xiǎn),如果用戶(hù)輸入的是__import__('os').system('dir') ,你會(huì)發(fā)現(xiàn),當(dāng)前目錄文件都會(huì)展現(xiàn)在用戶(hù)前面,那么繼續(xù)輸入open('文件名').read() ,代碼都給人看了。獲取完畢,一條刪除命令,文件消失。哭吧!因此,除非對(duì) input() 有特別需要,否則一般情況下我們都是推薦使用 raw_input() 來(lái)與用戶(hù)交互。


新聞標(biāo)題:創(chuàng)新互聯(lián)Python教程:python中使用rawinput失敗的原因
標(biāo)題URL:http://uogjgqi.cn/article/cdoogic.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流