python的内置函数其实挺多的,其中input和eval算得上比较特殊,input属于交互式内置函数,eval函数能直接执行字符串表达式并返回表达式的值.

一.input函数

input是Python的内置函数也是交互式函数,何为交互式函数?交互式程序是指程序可以接用户交互。

可能以前的代码,部分童鞋可能会觉得有些死板,变量声明和定义都已经提前准备好了,可能老司机会说你不运行程序我也知道输出的结果是什么。

input()函数能接收用户输入的内容,并返回字符串str类型,示例代码如下:

while True:
a = input("请输入:")
print("输入的内容是:{} 类型是:{}".format(a,type(a)))

大家现在都知道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 内置函数input/eval(22)的更多相关文章

  1. Python内置函数(61)——eval

    英文文档: eval(expression, globals=None, locals=None) The arguments are a string and optional globals an ...

  2. Python内置函数(19)——eval

    英文文档: eval(expression, globals=None, locals=None) The arguments are a string and optional globals an ...

  3. Python内置函数之eval()

    eval(expression,globals=None,locals=None) 返回表达式的值.第一个参数必须是字符串.第二个参数可选,如果有必须是字典:第三个参数可选,如果有必须是映射对象(比如 ...

  4. Python内置函数和内置常量

    Python内置函数 1.abs(x) 返回一个数的绝对值.实参可以是整数或浮点数.如果实参是一个复数,返回它的模. 2.all(iterable) 如果 iterable 的所有元素为真(或迭代器为 ...

  5. Python | 内置函数(BIF)

    Python内置函数 | V3.9.1 | 共计155个 还没学完, 还没记录完, 不知道自己能不能坚持记录下去 1.ArithmeticError 2.AssertionError 3.Attrib ...

  6. python内置函数

    python内置函数 官方文档:点击 在这里我只列举一些常见的内置函数用法 1.abs()[求数字的绝对值] >>> abs(-13) 13 2.all() 判断所有集合元素都为真的 ...

  7. Python 内置函数笔记

    其中有几个方法没怎么用过, 所以没整理到 Python内置函数 abs(a) 返回a的绝对值.该参数可以是整数或浮点数.如果参数是一个复数,则返回其大小 all(a) 如果元组.列表里面的所有元素都非 ...

  8. 【转】python 内置函数总结(大部分)

    [转]python 内置函数总结(大部分) python 内置函数大讲堂 python全栈开发,内置函数 1. 内置函数 python的内置函数截止到python版本3.6.2,现在python一共为 ...

  9. python内置函数,匿名函数

    一.匿名函数 匿名函数:为了解决那些功能很简单的需求而设计的一句话函数 def calc(n): return n**n print(calc(10)) #换成匿名函数 calc = lambda n ...

随机推荐

  1. 三十五.MySQL读写分离 MySQL多实例 、MySQL性能调优

    1.实现MySQL读写分离 搭建一主一从结构 配置maxscale代理服务器 测试分离配置   1.1 搭建一主一从结构 192.168.4.51 主 192.168.4.52 从 测试OK   1. ...

  2. Educational Codeforces Round 60 D. Magic Gems

    易得递推式为f[i]=f[i-1]+f[i-M] 最终答案即为f[N]. 由于N很大,用矩阵快速幂求解. code: #include<bits/stdc++.h> using names ...

  3. (WAWAWAWAWAWAW) G. Periodic RMQ Problem

    没有联通门 : Codeforces G. Periodic RMQ Problem /* Codeforces G. Periodic RMQ Problem MMP 什么动态开点线段树啊 ... ...

  4. YII框架入门

    一.安装 php运行环境安装包:http://www.phpstudy.net/a.php/207.html Yii安装包: https://github.com/yiisoft/yii2/relea ...

  5. [Python]闭包的理解和使用

    闭包广泛使用在函数式编程语言中,虽然不是很容易理解,但是又不得不理解. 闭包是什么? 在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包.闭包可以 ...

  6. Java把多个list 合并成一个并去重

           开发过程中遇到一个合并去重问题,任务完成后,总结出来一个比较简单的方法.对于List中不同类型的数据,需要采用不同的处理方式.List中如果是基础数据类型,直接合并去重即可:如果是对象类 ...

  7. CF1174F Ehab and the Big Finale(交互+剖分)

    做法 \(x\)为隐藏节点,\(dep_x=d(1,x)\) \((1)\):\(u=1\) \((2)\):重链剖分,比如\(v\)为\(u\)的重链底部,查询\(dis(x,v)\)的长度,\(y ...

  8. scp执行报错WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

    linux环境执行scp时会遇到报错WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!,如下 [root@subsname home]# scp AAA. ...

  9. Java的反射是什么?有什么用?

    首先我要简单的来说一下什么是Java的反射机制: 在Java里面一个类有两种状态--编译和运行状态,通常我们需要获取这个类的信息都是在编译阶段获得的,也就是直接点出来或者new出来,可是如果需要在类运 ...

  10. 2019 DDCTF 部分writeup

    网上的wp已经很多了,但wp普遍很简略.我尽量写的详细一点. 一.WEB 滴~ 拿到题目后首先右键查看源代码,发现图片是以base64传送的 而且看url发现里面应该是包含了文件名,并且用了某个编码. ...