python 的字典里多行注释失败

最近在写编译原理的课程设计,发现python一个很奇怪的问题,现在记录在这里:

我新建一个字典,因为有时需要换不同的数据,所以习惯把原来的数据注释掉测试。
但是发现一个很奇怪的bug,就是字典里的多行注释貌似也被当成了数据。

dic_a = {
    """
    ‘x':2,
    'y':3
    """
    'a':'b',
    'c':'d'
    }
 
print('keys:')   
for i in dic_a.keys():
#把字典的值都打印出来
    print(i)
    
print('values:')
for i in dic_a.values():
#把字典的值都打印出来
    print(i)
    
print(dic_a)
#把整个字典打印出来

于是得到了这个奇怪的结果:
在这里插入图片描述

仔细想了一下原因,应该是注释也被当作数据了
仔细观察输出后的字典,应该是因为python‘ 和 “ 不区分导致的,第一个元素的键值其实是:在这里插入图片描述

在注释开始到第一个元素a那里
在这里插入图片描述
最开头的“和a右边的‘中间那部分:""\n ‘x’:2,\n ‘y’:3\n “”"\n 'a都被当作了第一个键

但是不知道为什么把键值打印出来变成了:
在这里插入图片描述
可以看到一些引号消失了

删掉注释后,得到正常结果:

dic_a = {
    'a':'b',
    'c':'d'}
print('keys:')
for i in dic_a.keys():
    print(i)

print('values:')
for i in dic_a.values():
    print(i)

print('dic_a:')
print(dic_a)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值