今天给大家讲解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())在接收输入数字作为变量时非常好用,可以尽量在此场合下使用。