python之eval和format函数用法

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

然后...突然不想打字了...所以回宿舍睡觉了.

上边那个网站是大佬的总结.回头我再悄悄的打点字儿

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值