热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

raw_input和input

昨天在OJ上做CTF的题目,发现有道python的题目很有意思,让我知道了raw_input和input的区别,并且能干一些别的事情。官方文档上说,input()相当于eval(r

  昨天在OJ上做CTF的题目,发现有道python的题目很有意思,让我知道了raw_input和input的区别,并且能干一些别的事情。

  官方文档上说,input()相当于eval(raw_input())。说明input()本质上还是用raw_input()实现的,不过还调用了eval()来处理输入的数据,意味着input()欢迎任何Python表达式的输入,输入的内容eval()会去执行,所以当输入input()->1+1时,会自动返回2.

  1.raw_input()接收任何形式的输入,但是所有的返回都是字符串类型;

  2.input()希望能够接收合法的python表达式,所以输入字符串的时候需要用引号括住。同时,它返回的值能够保持自有的特性,如输入数字,返回的类型是int,float...

  因此这些特性可以提醒我们使用它们的区别和场景。input()可以执行python表达式从某方面来说是“危险”的。例如那道CTF的题目,就是利用input()输入不合法的Python表达式,程序抛出异常,使得Flag暴露出来。

raw_input和input


推荐阅读
  • 一,深浅拷贝看拷贝列子day19-1.py假如修改的元素是一个列表,源列表也会发生变化day19-2.py为什么会这样,因为第一次修改的是一个不可变元素对应的指针发生了变化,第二次 ... [详细]
  • 题目链接:https:vjudge.netcontest103424#problemI转载于:大牛博客题目大意:有n个货物,并且知道了每个货物的重量,每次用载重量分别为c1, ... [详细]
  • 测试工作——TestNG
    阅读目录TestNG介绍在Eclipse中安装TestNG插件TestNG最简单的测试TestNG的基本注解TestNG中如何执行测试TestNG中按顺序执行CaseTestNG异 ... [详细]
  • python学习:函数内置方法
    python学习:函数内置方法 ... [详细]
  • KotlinDSL,指用Kotlin写的DomainSpecificLanguage.本文通过解析官方的KotlinDSL写html的例子,来说明KotlinDSL是什么.首 ... [详细]
  • Hibernate的入门:
    1下载Hibernate5http:sourceforge.netprojectshibernatefileshibernate-orm5.0.7.Finalhibernate-r ... [详细]
  • ARM LCD屏调试3屏的应用编程
    2011-06-2519:20:47驱动自己写完了,应用函数自己就不写了,找了一点代码参考,移植并修改了一下,配合之前的定义的接口文档,我贴出部分代码。目录:一,开发环境1二 ... [详细]
  • 1、dt视图结构内容dt+结构名要么dt+结构名+住址kddt_object_headernt!_OBJECT_HEADER+0x000PointerCount:Int4B+0x ... [详细]
  • Mac安装Appium
    Appium官网http:appium.io实际步骤1.appium基于node.js首先安装node.jsbrewinstallnode2.安装appiumnpminstal ... [详细]
  • SpringMvc组件初始化
    SpringMVC9大组件初始化由上面的断点流程,可以看出来其实是在spring容器初始化完成的最后一步,通过发送event事件@Overridepublicvoidpublish ... [详细]
  • maven 阿里云节点,速度快
    修改maven根目录下的conf文件夹中的setting.xml文件.http:maven.aliyun.comOSChina谷歌Google开源中国- Nexusosc更新频率据 ... [详细]
  • hadoop安装过程 permissions 0755
    权限太大tooopen登录hadoop用户chmod-R7 ... [详细]
  • 一、基础技术选型C#.NET3.54.0这两个版本的.NET已经相当方便(Linq,Lambda,Parallel),语法简洁,配合WCF和WF两项技术,可以满足快速开发,维护 ... [详细]
  • 一、Web前端技术HTML:HTML、HTML5、CSS、TCPIPXML:XMLWeb脚本:JavaScript、AJAX、jQuery、JSONServ脚本:JSP、APS、P ... [详细]
  • 如何绘制直观易懂的时标网络图
    时标网络图是用活动的定位和长度表示活动历时的项目网络图。是含网络逻辑的横道图,并且是任何以工作位置和长度代表其持续时间的项目网络图。项目经理圈子在时标网络图中,以实箭线表示工作,实 ... [详细]
author-avatar
php枫羲
寂寞是一个人的修身养性
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有