以下操作得到的都是字符串:
有十六进制数 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 个元素,十进制输出