python input() 相等於 eval(raw_input(prompt)) ,用來獲取控制台的輸入。
raw_input() 將所有輸入作為字符串看待,返回字符串類型。而 input() 在對待純數字輸入時具有自己的特性,它返回所輸入的數字的類型( int, float )。
注意:input() 和 raw_input() 這兩個函數均能接收 字符串 ,但 raw_input() 直接讀取控制台的輸入(任何類型的輸入它都可以接收)。而對於 input() ,它希望能夠讀取一個合法的 python 表達式,即你輸入字符串的時候必須使用引號將它括起來,否則它會引發一個 SyntaxError 。
除非對 input() 有特別需要,否則一般情況下我們都是推薦使用 raw_input() 來與用戶交互。
注意:python3 里 input() 默認接收到的是 str 類型。
while True: #input函數要求在控制台輸入字串的時候必須用''括起來,不然會引發SyntaxError,純數字不用 #python3里input()Loren接收的是str類型 reply = input('Enter text:') if reply == 'stop':break try: num = int(reply) except: print('bad' * 8) else: print (int(reply) * 2) print 'Bye'執行結果:
raw_input()實例
hint = '''funtion: 1 create new file 2 delete null file 3 delete by size please input number:''' while True: option = raw_input(hint) #獲取IO輸入的值 if cmp(option,'1') == 0: create() elif cmp(option,'2') == 0: deleteNullFile() elif cmp(option,'3') == 0: minSize = raw_input("minSize(K):") deleteBySize(minSize) elif cmp(option,'q') == 0: print "quit !" break else: print ("disabled input ,please try again....")
那如何判斷控制台輸入的字符串是字母字符還是數字字符:
s為字符串 s.isalnum() 所有字符都是數字或者字母,為真返回 Ture,否則返回 False。 s.isalpha() 所有字符都是字母,為真返回 Ture,否則返回 False。 s.isdigit() 所有字符都是數字,為真返回 Ture,否則返回 False。 s.islower() 所有字符都是小寫,為真返回 Ture,否則返回 False。 s.isupper() 所有字符都是大寫,為真返回 Ture,否則返回 False。 s.istitle() 所有單詞都是首字母大寫,為真返回 Ture,否則返回 False。 s.isspace() 所有字符都是空白字符,為真返回 Ture,否則返回 False。