Python_eval()
'''
eval()用来把任意字符串转化为Python表达式并进行求值
'''
print(eval('3+4')) #计算表达式的值
a=3
b=4
print(eval('a+b')) #这时候要求变量a和b已存在
import math
eval('help(math.sqrt)')
# Help on built - in function sqrt in module math:\
# sqrt(...)
# sqrt(x)
#
# Return the square root of x.
print(eval('math.sqrt(3)'))
#eval('aa') 此处使用将报错,aa并未被定义
"""在Python 3.x中,input()将用户的输入一律按字符串对待,如果需要将其还原为本来的类型,可以使用内置函数eval(),有时候可能需要配合异常处理结构"""
# x=input()
# print(x)
# print(eval(x))
# x=input()
# print(eval(x))
# x=input()
# print(x)
# try:
# print(eval())
# except:
# print('wrong input')
# a=input('Please input a value') '''
关键字 in:与列表、元组、集合一样,也可以使用关键字in和not in 来判断一个字符串是否出现在另一个字符串中,返回True或False
'''
print('a' in 'abcd')
# True
print('ab' in 'abcde')
# True
print('ac' in 'abcd')
# False
#example:对用户输入进行检查
words = ('测试','非法','暴力')
test = input('请输入')
for word in words:
if word in test:
print('非法')
break
else:
print('正常')
#下面的代码则可以用来测试用户输入中是否有敏感词,如果有就把敏感词替换为3个***
words = ('测试','非法','暴力','话')
text = '这句话里含有非法内容'
for word in words:
if word in text:
text=text.replace(word,'***')
print(text)
# 这句***里含有***内容 '''
startswith(),endswith()
这两个方法用来判断字符串是否以指定字符串开始或结束,可以接收两个整数参数来限定字符串的检测范围
'''
s='Beautiful is better than ugly.'
print(s.startswith('Be')) #检测整个字符串
print(s.startswith('Be',5)) #检测指定范围的起始位置
print(s.startswith('Be',0,5)) #指定检测范围的起始和结束位置
'''另外,这两个方法还可以接收一个字符串元组作为参数来表示前缀或后缀,例如,下面的代码可以列出指定文件夹下所有扩展名为bm、jpg、gif的图片'''
# import os
# [filename for filename in os.listdir(r'/Users/c2apple/Documents') if filename.endswith('.bmp','.jpg','.png')]
Python_eval()的更多相关文章
- python_eval的用法
1. eval用法: 将字符串str当成有效的表达式来求值并返回计算结果. 2. eval的功能: math当成一个计算器很好用. 将字符串转换为list,tuple,dict. 3. 举例 # -* ...
- 用Backtrack进行渗透测试评估
Web应用程序的分析在渗透测试和漏洞评估中发挥了重要的作用.确定Web应用程序的正确信息(例如使用的插件,CMS类型等)都可以帮助测试者使用准确的漏洞来测试,能够降低整个渗透测试漏洞评估所花费的时间. ...
- php bypass disable_function 命令执行 方法汇总简述
1.使用未被禁用的其他函数 exec,shell_exec,system,popen,proc_open,passthru (python_eval?perl_system ? weevely3 wi ...
随机推荐
- 【一天一道LeetCode】#24. Swap Nodes in Pairs
一天一道LeetCode系列 (一)题目 Given a linked list, swap every two adjacent nodes and return its head. For exa ...
- 【Visual C++】游戏编程学习笔记之二:定时器的使用
本系列文章由@二货梦想家张程所写,转载请注明出处. 本文章链接:http://blog.csdn.net/terence1212/article/details/44195831 作者:ZeeCode ...
- android studio设置代理更新
我们都知道Android Studio是基于IDEA开发的,而我们写的每一个程序又都是有Gradle构建的,Gradle的优点可以说是很多,被很多程序员夸得没边,但是它有一个特点还是值得我们注意的.我 ...
- Java继承与多态
感慨一下,到了现在感觉Java里面很多东西都是模模糊糊,不能这样了,一点点解决吧.今天看了继承与多态的一些内容,感觉看得很浅,先写下来,算是巩固,如果后面看到更好的内容,再慢慢加上去. 继承与多态,他 ...
- Understanding the Objective-C Runtime
Wednesday, January 20, 2010 Understanding the Objective-C Runtime The Objective-C Runtime is one of ...
- javascript显式类型转换
尽管js可以做许多自动类型转换,但某些时候仍然需要做显示类型转换或为了代码逻辑清晰易读而做显示类型转换. 做显示类型转换最简单的方法就是用Boolean().Number().String()或Obj ...
- 恶补web之二:css知识(2)
css字体属性定义文本的字体系列,大小,加粗,风格和变形等. css中包含两种字体系列:通用字体系列和特定字体系列. font-family属性定义文本的字体系列: body {font-family ...
- 解决Visual Studio 2017隐藏“高级保存选项”命令
Visual Studio提供高级保存选项功能,它能指定特定代码文件的编码规范和行尾所使用的换行符.在Visual Studio 2017中,该命令没有默认显示在“文件”菜单中.用户需要手工设置,才能 ...
- Python_@修饰器(装饰器)的理解
装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能. 装饰器的作用就是为已经存在的对象添加额外的功能. def funA(fun): print (fun( ...
- 排序算法入门之插入排序(java实现)
插入排序思想:相当于插入元素,对于第i个元素,i之前的元素已经是有序的了,这时候将第i个元素依次与前面元素比较,插入合适的位置.