python 內置函數input/eval(22)


    python的內置函數其實挺多的,其中input和eval算得上比較特殊,input屬於交互式內置函數,eval函數能直接執行字符串表達式並返回表達式的值.

 

一.input函數

    input是Python的內置函數也是交互式函數,何為交互式函數?交互式程序是指程序可以接用戶交互。

    可能以前的代碼,部分童鞋可能會覺得有些死板,變量聲明和定義都已經提前准備好了,可能老司機會說你不運行程序我也知道輸出的結果是什么。

six

    input()函數能接收用戶輸入的內容,並返回字符串str類型,示例代碼如下:

while True:
    a = input("請輸入:")
    print("輸入的內容是:{} 類型是:{}".format(a,type(a)))

 

input

 

    大家現在都知道AI已經是大勢所趨,未來的十年屬於AI,那么今天我要告訴你價值一個億的AI核心代碼:(沙雕機器人1.0版本)

告訴你個小秘密

    測試結果:

在嗎?
在!
你好
你好
是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不要濫用。

 

猜你喜歡:

    1.python return邏輯表達式

    2.python 匿名函數lambda

    3.python列表推導式

    4.python字典推導式

 

    轉載請注明:猿說Python » python內置函數input/eval

 

技術交流、商務合作請直接聯系博主
掃碼或搜索:猿說python
python教程公眾號
猿說python
微信公眾號 掃一掃關注


免責聲明!

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



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