首页 > 解决方案 > format(integer, 'string'+'string'+'string') 在 Python 中是如何工作的?

问题描述

我一直在查看一些使用 Qiskit 包实现 Dustsch-Jozsa 算法的代码。这种情况与实际问题无关。我遇到的问题是了解format()函数在下面的代码片段中是如何工作的(我对 python 有点陌生):

n = 5 #or any non-zero positive integer
b = np.random.randint(1,2**n)
# Next, format 'b' as a binary string of length 'n', padded with zeros:
b_str = format(b, '0'+str(n)+'b')

我已经尝试单独测试运行此代码,并查看了 b 和 b_str:

print(b)
print(b_str)
print('0'+str(n)+'b')

输出:

9
01001
05b

我可以在文档中找到关于format()的所有内容都是表单的使用(乍一看,它与上面的代码不相似):

txt1 = "My name is {fname}, I'm {age}".format(fname = "John", age = 36)
txt2 = "My name is {0}, I'm {1}".format("John",36)
txt3 = "My name is {}, I'm {}".format("John",36)

那么,谁能解释第一个代码的实际工作原理以及我在这里遗漏了什么?

标签: python-3.xformat

解决方案


推荐阅读