python的內置函數其實挺多的,其中input和eval算得上比較特殊,input屬於交互式內置函數,eval函數能直接執行字符串表達式並返回表達式的值.python
input是Python的內置函數也是交互式函數,何爲交互式函數?交互式程序是指程序能夠接用戶交互。git
可能之前的代碼,部分童鞋可能會以爲有些死板,變量聲明和定義都已經提早準備好了,可能老司機會說你不運行程序我也知道輸出的結果是什麼。github
input()函數能接收用戶輸入的內容,並返回字符串str類型,示例代碼以下:編程
1微信 2ide 3函數 |
while True:測試 a = input("請輸入:")spa print("輸入的內容是:{} 類型是:{}".format(a,type(a)))3d |
你們如今都知道AI已是大勢所趨,將來的十年屬於AI,那麼今天我要告訴你價值一個億的AI核心代碼:(沙雕機器人1.0版本)
1 2 3 4 5 6 7 |
while True: ''' replace("?","!") 將字符串中英文狀態下的問號 ?替換爲 感嘆號 ! replace("?","!")將字符串中中文狀態下的問號 ?替換爲 感嘆號 ! replace("嗎","") 將字符串中的中文 "嗎" 替換爲 "" ''' print(input("").replace("?","!").replace("?","!").replace("嗎","")) |
測試結果:
1 2 3 4 5 6 7 8 9 10 |
在嗎? 在! 你好 你好 是python教程嗎? 是python教程! 看完教程就能學會編程嗎? 看完教程就能學會編程! python能生孩子嗎 python能生孩子 |
在之前的文章中咱們也曾經使用過eval,將字符串轉爲eval 。內置函數eval()除了這個功能還能直接執行字符串表達式,並返回表達式的結果,示例代碼以下:
1 2 3 4 5 6 7 8 9 |
a = eval("3+2.5") print("a={} ,a的類型是{}".format(a,type(a)))
a = eval("3+2") print("a={} ,a的類型是{}".format(a,type(a)))
b = 33 a = eval("b/2") print("a={} ,a的類型是{}".format(a,type(a))) |
輸出結果:
1 2 3 |
a=5.5 ,a的類型是<class 'float'> a=5 ,a的類型是<class 'int'> a=16.5 ,a的類型是<class 'float'> |
input函數和eval函數配合使用完成一個***面的計算器:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解憂 @Blog(我的博客地址): shuopython.com @WeChat Official Account(微信公衆號):猿說python @Github:www.github.com
@File:python_input_eval.py @Time:2019/10/6 21:48
@Motto:不積跬步無以致千里,不積小流無以成江海,程序人生的精彩須要堅持不懈地積累! """
while True: result = eval(input("請輸入表達式:")) print("結果:",result) |
輸出結果:
1 2 3 4 5 6 7 |
請輸入表達式:3+2-6 結果: -1 請輸入表達式:55*25 結果: 1375 請輸入表達式:89/7 結果: 12.714285714285714 請輸入表達式: |
1.注意input函數的返回值是字符串str類型,若是須要int或者list類型能夠經過轉換完成
2.eval是一個很強大的內置函數,除了以上功能,eval還能直接刪除系統文件,這裏不作過多講解,注意eval不要濫用。
轉載請註明:猿說Python » python內置函數input/eval