python 内置函数input/eval(22)
python的内置函数其实挺多的,其中input和eval算得上比较特殊,input属于交互式内置函数,eval函数能直接执行字符串表达式并返回表达式的值.
一.input函数
input是Python的内置函数也是交互式函数,何为交互式函数?交互式程序是指程序可以接用户交互。
可能以前的代码,部分童鞋可能会觉得有些死板,变量声明和定义都已经提前准备好了,可能老司机会说你不运行程序我也知道输出的结果是什么。
input()函数能接收用户输入的内容,并返回字符串str类型,示例代码如下:
1 2 3 | while True: a = input("请输入:") print("输入的内容是:{} 类型是:{}".format(a,type(a))) |
大家现在都知道AI已经是大势所趋,未来的十年属于AI,那么今天我要告诉你价值一个亿的AI核心代码:(沙雕机器人1.0版本)
1 2 3 4 5 6 7 | while True: ''' replace("?","!") 将字符串中英文状态下的问号 ?替换为 感叹号 ! replace("?","!")将字符串中中文状态下的问号 ?替换为 感叹号 ! replace("吗","") 将字符串中的中文 "吗" 替换为 "" ''' print(input("").replace("?","!").replace("?","!").replace("吗","")) |
测试结果:
1 2 3 4 5 6 7 8 9 10 | 在吗? 在! 你好 你好 是python教程吗? 是python教程! 看完教程就能学会编程吗? 看完教程就能学会编程! python能生孩子吗 python能生孩子 |
二.eval函数
在以前的文章中我们也曾经使用过eval,将字符串转为eval 。内置函数eval()除了这个功能还能直接执行字符串表达式,并返回表达式的结果,示例代码如下:
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))) |
输出结果:
1 2 3 | a=5.5 ,a的类型是<class 'float'> a=5 ,a的类型是<class 'int'> a=16.5 ,a的类型是<class 'float'> |
三.input函数和eval函数配合使用
input函数和eval函数配合使用完成一个***面的计算器:
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("结果:",result) |
输出结果:
1 2 3 4 5 6 7 | 请输入表达式: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