溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python 內(nèi)置函數(shù)input/eval(22)

發(fā)布時間:2020-03-14 11:51:17 來源:網(wǎng)絡 閱讀:465 作者:qq5d6f345f0205e 欄目:編程語言

python的內(nèi)置函數(shù)其實挺多的,其中input和eval算得上比較特殊,input屬于交互式內(nèi)置函數(shù),eval函數(shù)能直接執(zhí)行字符串表達式并返回表達式的值.

?

一.input函數(shù)

input是Python的內(nèi)置函數(shù)也是交互式函數(shù),何為交互式函數(shù)?交互式程序是指程序可以接用戶交互。

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

python 內(nèi)置函數(shù)input/eval(22)

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

1

2

3

while True:

????a = input("請輸入:")

????print("輸入的內(nèi)容是:{} 類型是:{}".format(a,type(a)))

python 內(nèi)置函數(shù)input/eval(22)

?

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

python 內(nèi)置函數(shù)input/eval(22)

1

2

3

4

5

6

7

while True:

????'''

????replace("?","!") 將字符串中英文狀態(tài)下的問號 ?替換為 感嘆號 !

????replace("?","!")將字符串中中文狀態(tài)下的問號 ?替換為 感嘆號 !

????replace("嗎","") 將字符串中的中文 "嗎" 替換為 ""

????'''

????print(input("").replace("?","!").replace("?","!").replace("嗎",""))

測試結(jié)果:

1

2

3

4

5

6

7

8

9

10

在嗎?

!

你好

你好

python教程嗎?

python教程!

看完教程就能學會編程嗎?

看完教程就能學會編程!

python能生孩子嗎

python能生孩子

?

二.eval函數(shù)

在以前的文章中我們也曾經(jīng)使用過eval,將字符串轉(zhuǎn)為eval?。內(nèi)置函數(shù)eval()除了這個功能還能直接執(zhí)行字符串表達式,并返回表達式的結(jié)果,示例代碼如下:

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)))

輸出結(jié)果:

1

2

3

a=5.5 ,a的類型是<class 'float'>

a=5 a的類型是<class 'int'>

a=16.5 ,a的類型是<class 'float'>

?

三.input函數(shù)和eval函數(shù)配合使用

input函數(shù)和eval函數(shù)配合使用完成一個***面的計算器:

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("結(jié)果:",result)

輸出結(jié)果:

1

2

3

4

5

6

7

請輸入表達式:3+2-6

結(jié)果: -1

請輸入表達式:55*25

結(jié)果: 1375

請輸入表達式:89/7

結(jié)果: 12.714285714285714

請輸入表達式:

?

四.重點總結(jié)

1.注意input函數(shù)的返回值是字符串str類型,如果需要int或者list類型可以通過轉(zhuǎn)換完成

2.eval是一個很強大的內(nèi)置函數(shù),除了以上功能,eval還能直接刪除系統(tǒng)文件,這里不做過多講解,注意eval不要濫用。

?

猜你喜歡:

1.python return邏輯表達式

2.python 匿名函數(shù)lambda

3.python列表推導式

4.python字典推導式

?

轉(zhuǎn)載請注明:猿說Python???python內(nèi)置函數(shù)input/eval


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI