eval()函数:
eval()函数能够实现,元组,列表,字典的字符串与其对应类型之间的转换,同时能够将算数表达式直接计算出结果.以下是它常见的几种使用方式,大家可以拓展一下:
1.算数表达式直接计算
a=eval('pow(2,2)')
print(a)
b=eval('2 + 2')
print(b)
2.列表等字符串的直接转换
ch="[1,2,3,4,5,6,7]"
list=eval('ch')
3.语句字符串的直接转换
eval("print('python')")
虽然eval()貌似很牛逼,但是由于第三种功能的存在导致它存在很大很大的风险性.因此出现了一种对于eval()函数的改进版本:
ast模块就是帮助Python应用来处理抽象的语法解析的。而该模块下的literal_eval()
函数:则会判断需要计算的内容计算后是不是合法的python类型,如果是则进行运算,否则就不进行运算。比如说上面的计算操作,及危险操作,如果换成了ast.literal_eval()
,都会拒绝执行。
以上这段话针对与python2,在python3中对于ast模块进行了部分改进,使得ast模块下的literal_eval()能够实现对于算数表达式的计算,但不能够实现对于 3.和2. 这样的语句字符串直接转换.
下面直接看一下它的运行:
1.算数表达式直接计算:
import ast
l=ast.literal_eval('1+1')
print(l)
format()函数:
emmmmm 下边的我直接从大佬那里复制过来的,其实自己并没看懂.一个一个实验出来的.
Python中格式化输出字符串使用format()函数, 字符串即类, 可以使用方法;
Python是完全面向对象的语言, 任何东西都是对象;
字符串的参数
1. 使用{NUM}进行表示,0, 表示第一个参数,1, 表示第二个参数, 以后顺次递加;
2. 使用“:”, 指定代表元素需要的操作, 如”:.3”小数点三位, “:8”占8个字符空间等;
3. 还可以添加特定的字母, 如:
‘b’ - 二进制. 将数字以2为基数进行输出.
‘c’ - 字符. 在打印之前将整数转换成对应的Unicode字符串.
‘d’ - 十进制整数. 将数字以10为基数进行输出.
‘o’ - 八进制. 将数字以8为基数进行输出.
‘x’ - 十六进制. 将数字以16为基数进行输出, 9以上的位数用小写字母.
‘e’ - 幂符号. 用科学计数法打印数字, 用’e’表示幂.
‘g’ - 一般格式. 将数值以fixed-point格式输出. 当数值特别大的时候, 用幂形式打印.
‘n’ - 数字. 当值为整数时和’d’相同, 值为浮点数时和’g’相同. 不同的是它会根据区域设置插入数字分隔符.
‘%’ - 百分数. 将数值乘以100然后以fixed-point(‘f’)格式打印, 值后面会有一个百分号.
https://www.jb51.net/article/136426.htm
然后...突然不想打字了...所以回宿舍睡觉了.
上边那个网站是大佬的总结.回头我再悄悄的打点字儿