python的內置函數其實挺多的,其中input和eval算得上比較特殊,input屬於交互式內置函數,eval函數能直接執行字符串表達式並返回表達式的值.
一.input函數
input是Python的內置函數也是交互式函數,何為交互式函數?交互式程序是指程序可以接用戶交互。
可能以前的代碼,部分童鞋可能會覺得有些死板,變量聲明和定義都已經提前准備好了,可能老司機會說你不運行程序我也知道輸出的結果是什么。
input()函數能接收用戶輸入的內容,並返回字符串str類型,示例代碼如下:
while True: a = input("請輸入:") print("輸入的內容是:{} 類型是:{}".format(a,type(a)))
大家現在都知道AI已經是大勢所趨,未來的十年屬於AI,那么今天我要告訴你價值一個億的AI核心代碼:(沙雕機器人1.0版本)
while True: ''' replace("?","!") 將字符串中英文狀態下的問號 ?替換為 感嘆號 ! replace("?","!")將字符串中中文狀態下的問號 ?替換為 感嘆號 ! replace("嗎","") 將字符串中的中文 "嗎" 替換為 "" ''' print(input("").replace("?","!").replace("?","!").replace("嗎",""))
測試結果:
在嗎?
在!
你好
你好
是python教程嗎?
是python教程!
看完教程就能學會編程嗎?
看完教程就能學會編程!
python能生孩子嗎
python能生孩子
二.eval函數
在以前的文章中我們也曾經使用過eval,將字符串轉為eval 。內置函數eval()除了這個功能還能直接執行字符串表達式,並返回表達式的結果,示例代碼如下:
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)))
輸出結果:
a=5.5 ,a的類型是<class 'float'> a=5 ,a的類型是<class 'int'> a=16.5 ,a的類型是<class 'float'>
三.input函數和eval函數配合使用
input函數和eval函數配合使用完成一個無界面的計算器:
# !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)
輸出結果:
請輸入表達式:3+2-6 結果: -1 請輸入表達式:55*25 結果: 1375 請輸入表達式:89/7 結果: 12.714285714285714 請輸入表達式:
四.重點總結
1.注意input函數的返回值是字符串str類型,如果需要int或者list類型可以通過轉換完成
2.eval是一個很強大的內置函數,除了以上功能,eval還能直接刪除系統文件,這里不做過多講解,注意eval不要濫用。
猜你喜歡:
轉載請注明:猿說Python » python內置函數input/eval
技術交流、商務合作請直接聯系博主
掃碼或搜索:猿說python

猿說python
微信公眾號 掃一掃關注