Python世界中形影不离的一对情侣!你知道是哪两位吗?

input函数

input()是从控制台获取用户输入的信息,不论用户输入的是什么,input()都会返回字符串类型。 <变量> = input(<提示性文字>)

欢迎大家加入小编创建的Python行业交流群,有大牛答疑,有资源共享,有企业招人!是一个非常不错的交流基地!群号:683380553
  1. a = input("请输入你的年龄:")

  2. print(type(a))

Run and output!

 
  1. 请输入你的年龄:25

  2. <class 'str'>

我们看到当我们运行代码时,我们输入的是数字,但是返回的数据类型是字符串。这点要注意哦!

eval函数

eval()可以将字符串类型转化成python对象。具体我们看下面的例子

 
  1. print(eval("25"))

  2. print(type(eval("25")))

Run and output!

 
  1. 25

  2. <class 'int'>

可见eval将字符串转化为python中的整型数据类型。eval实际上能将字符串转化为任意的python对象,如变量名、函数名等。我们继续看几个例子

转化为变量名

eval将字符串转化为python里的变量

 
  1. sentence = 'python is very easy to learn!'

  2. eval('sentence')

Run and output!

 
  1. 'python is very easy to learn!'

 
  1. #### 转化为函数名

  2. def hello():

  3. print('hello world!')

  4. eval('hello')

Run and output!

 
  1. <function __main__.hello()>

不要奇怪哦,因为上面的eval('hello')等同于hello,但是我们调用函数时候一定要加上括号。

 
  1. eval('hello')()

Run and output!

 
  1. hello world!

input与eval

实际上eval()与input()很像一对情侣,在python世界中形影不离。input用来获取用户输入的数据,而eval将输入的数据转化成python对象。

 
  1. a = input('请输入一个列表:')

  2. print(type(a))

  3. print(type(eval(a)))

Run and output!

 
  1. 请输入一个列表:[1,2,3,4]

  2. <class 'str'>

  3. <class 'list'>

从图中我们看到,我们输入的列表经过input函数变成了字符串。为了在python程序中继续使用a的列表特性,我们必须使用eval将再转化为python列表对象。同理eval还可以将字符串转化为字典、元组、集合等python对象,这里就不一一做讲解了。

猜你喜欢

转载自blog.csdn.net/qq_42156420/article/details/88393908