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. learning scala Function Recursive Tail Call

    可以使用scala库,可以从字面上看出是在调用 递归函数: code import scala.util.control.TailCalls._ val arrayDonuts: Array[Stri ...

  2. bat批处理运用

    一.简单批处理内部命令简介 1.Echo 命令 –显示 打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置. 语法: echo [{on│off}] [mess ...

  3. start-stop-daemon 守护进程管理

    start-stop-daemon 守护进程管理 start-stop-daemon 作为系统自带,简单实用 结合systemctl,用起来很是不错. 示例 PIDFILE=/var/run/ngin ...

  4. docker安装mysql5.7 数据挂载

    docker安装mysql5.7,并数据卷挂载到主机 # docker 中下载 mysql docker pull mysql:5.7 #启动 docker run --name mysql3306 ...

  5. springboot连接redis进行CRUD

    springboot连接redis进行CRUD: 1.添加以下依赖: <dependency> <groupId>org.springframework.boot</gr ...

  6. 火狐调试工具-DevTools

    狐调试工具 - DevTools 咱们做写js 代码的时候,遇到的一个最大的问题就是调试问题,很多开发者在写 js 代码的时候,经常都非常痛苦.但是我们如果掌握好相应的调试工具,那么就可以比较游刃有余 ...

  7. CSRF in asp.net mvc and ap.net core

    如果在方法上添加了[ValidateAntiForgeryToken],没处理好 请求没有带参数 2019-09-17 14:02:45,142 ERROR [36]: System.Web.Mvc. ...

  8. Bitmap: 使用Bitmap作为绘图缓冲时设置抗锯齿

    android上绘图时常用的抗锯齿方法是: paint.setAntiAlias(true); 但是在以Bitmap作为绘图缓冲绘制时,绘制出来的Bitmap可能仍然有锯齿,此时可以在绘制开始前加上下 ...

  9. 如何在linux中测试i2c slave模式驱动的功能?

    1. 硬件要求 1.1 需要两台机器,一台作为i2c master(记为M),另一台作为i2c slave(记为S) 1.2 使用杜邦线连接两台机器的i2c信号线 2. 使能内核选项CONFIG_I2 ...

  10. <JavaScript>几道javascript练习题

    问题1: 作用域(Scope) 考虑以下代码: (function() { var a = b = 5; })(); console.log(b); 控制台(console)会打印出什么? 答案 上述 ...