今天給大家講解Python中eval()函數和input()函數的用法,希望通過實例的講解之后大家能對這兩個函數有更加深刻的理解。
1.eval()函數
eval(<字符串>)能夠以Python表達式的方式解析並執行字符串,並將返回結果輸出。eval()函數將去掉字符串的兩個引號,將其解釋為一個變量。
作用:
a. 處理數字
單引號,雙引號,eval()函數都將其解釋為int類型;三引號則解釋為str類型。
- >>>eval(2)
- Traceback (most recent call last):
- ........
- TypeError: eval() arg 1 must be a string, bytes or code object
- >>>eval('2')
- 2
- >>>eval('"2"')
- '2'
b.處理字符串類型的字符串
- >>>c = eval(input('"請輸入一個字符串:"'))
- "請輸入一個字符串:">? 浙江大學
- Traceback (most recent call last):
- .........
- NameError: name '浙江大學' is not defined
- >>>c = eval(input('"請輸入一個字符串:"'))
- "請輸入一個字符串:">? "浙江大學"
- >>>c
- '浙江大學'
- >>>input_string = eval('"浙江大學"')
- >>>input_string
- '浙江大學'
對於eval()括號中的的字符串(非數字),如果字符串帶的是單引號或者是雙引號都會引起NameError,這是因為eval()函數在處理字符串時會去掉其兩個引號。正確應該使用一個單引號包含一個雙引號組成的三引號來包含字符串。
2.input函數
在獲得用戶輸入之前,input()函數可以包含一些提示性的文字。
<變量> = input(“提示性的 文字”)
- string = input("請輸入字符串:")
無論用戶輸入的是字符還是數字,input()函數統一按照字符串類型輸出。因此input()的輸出類型是str。
3.兩者結合使用
- 使用eval(input('請輸入數字:'))來獲取用戶輸入的數字
4.總結
對於接收用戶輸入的數字,可以使用的結合:
- a = eval(input('請輸入一個數字:'))
對於接收用戶輸入的字符串,則可以直接使用input()函數:
- input_string = input("請輸入一個字符串:")
*eval(input())在接收輸入數字作為變量時非常好用,可以盡量在此場合下使用。