我想为我的联系人姓名和电话号码建一个字典:
contacts = {'name': 0500456}
但它显示错误:
contacts = {'name':0500456} SyntaxError:无效令牌
Python3认为我想写八进制数,所以建议的解决方案是:
contacts = {'name': 0o500456}
但这不是我需要的! 我想写一个以零开头的整数作为字典值。
有没有解决方案!或者我应该把它们放在一个字符串引号内?
答案 0 :(得分:3)
您需要在存储整数对象和存储字符串对象之间进行选择。
如果需要使用整数值执行计算,请选择整数对象(500456
)。这不会存储任何前导零信息,但如果您只需要在整数前面的某个点处需要固定数量的零,那么当您需要该格式时,您可以随时执行'0' + str()
。
如果你实际上没有在程序中使用整数值,只需要稍后用前导零将值吐出来,那么继续将其转换为字符串对象({{ 1}})就像你提到的那样。
如果你需要使用整数的值但是前导零的数量很重要,那么要么将它存储为字符串并在需要时转换为'0500456'
,要么创建一个自定义类,也许是一个整数子类存储前导零信息,并在调用int()
时包含它。