python刷题
eval函数
eval(expression,globals = None,locals = None)
特点:
globals和locals为可选参数,但当 globals提供了参数时,它必须是字典类型,locals参数可以是任意的map对象。
用法示例:
a=10
b=20
c=30
g={'a':6,'b':8}
l={'b':100,'c':10}
print(eval('a+b+c',g,l)) # 116
s="abc"
print(eval('s')) # abc,print(eval(s))会报错
s='"sas"'
print(eval(s)) # sas
eval首先去除单引号,
eval在执行的时候是只会去除同种类型的引号的,
对于单引号和双引号它是加以区分的。
eval去除单引号后得到了“sas”,
这个时候程序解析到它是一个字符串,不可以计算,就输出了它。
字典
字典是另一种可变容器模型,且可存储任意类型对象。
注意的点:
1)键不能出现相同的,即不允许一个键出现两次。
2)键不可变,可用数字、字符串、元组,但不可用列表。
基本用法:
1)访问
通过key访问
dic = {'name': 'zhang','age':20}
print(dic['name'])
2)添加
通过key-value添加
dic = {'name': 'zhang','age':20}
dic['sex'] = 'fm'
dic['place'] = 'guangd'
print(dic) # {'name': 'zhang','age':20,'sex':'fm','place':'guangd'}
3)删除
dic = {'name': 'zhang','age':20,'sex':'fm','place':'guangd'}
del dic['sex']
print(dic) # {'name': 'zhang','age':20,'place':'guangd'}
4)修改
dic = {'name': 'zhang','age':20,'place':'guangd'}
dic['age'] = 22 # 覆盖原来的值
print(dic['age']) # 22