以下操作得到的都是字符串:
有十六进制数 0xABC,但是想凑够 4 位,想在前面添个 0 该怎么半?
str = "{:04X}".format(0xABC)
得到输出:0ABC
要是输入是字符串 'ABC'呢?
str = "{:04X}".format(int('ABC', 16))
得到输出:0ABC
怎么把十六进制字符串 ABC转化长度为 16 的二进制字符串呢,并且不够的用 0 进行补位?
str = "{:016b}".format(int('ABC', 16))
得到输出:0000101010111100
知识点:
:#0:表示位数不够用 0 进行补位,有#表示带前缀0x输出。:前的数表示用后面的第几个数,:后的数表示如何进行格式化。6:表示格式化后的总长度为 6 位X:表示转化为 16 进制,小写大写都可以int('ABC', 16):将 16 进制数ABC转换成 10 进制[2:]:表示只取格式化后的字符串第 2 个及后面的。因为默认得到的格式化字符串为0x0ABC,前面带了0x,使我们不需要的,所以就切掉。
问:{0} 和 {1} 表示什么含义?
sf = "You clicked on {0}x{1}".format(item.column(), item.row())
print(sf)
答:{0} 表示取后面的第 0 个元素,然后替换 {0}
问:{0:d} 什么含义?
sf = "{0:d}".format(2)
print(sf)
答:取第 0 个元素,十进制输出

1305

被折叠的 条评论
为什么被折叠?



