22.Python 内置函数input/eval

最后更新于:2020-03-21 11:56:47

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

告诉你个小秘密

while True:
    '''
    replace("?","!") 将字符串中英文状态下的问号 ?替换为 感叹号 ! 
    replace("?","!")将字符串中中文状态下的问号 ?替换为 感叹号 !
    replace("吗","") 将字符串中的中文 "吗" 替换为 ""
    '''
    print(input("").replace("?","!").replace("?","!").replace("吗",""))

测试结果:

在吗?
在!
你好
你好
是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
微信公众号 扫一扫关注
赞赏

微信赞赏支付宝赞赏