python-3.x - 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 - 用pymap3d计算熊猫列的有效方法?
- django - Django - 电子邮件出现在控制台中,而不是发送给收件人
- android - 在 Firestore 中添加文档后获取文档 ID
- node.js - 在 NodeJs、Express 中清空 req.body
- java - 如何仅在修改后的文件上运行 Maven Checkstyle 插件
- javascript - 如何按某个键对json对象进行排序
- javascript - Javascript 看不到用 eel 暴露的 python 函数
- c# - WPF/MVVM中ObservableCollection的双向绑定和过滤
- ios - 添加 nstextattachment 并能够在 UITextView 中添加文本
- python - 多处理支持的并行循环不能嵌套在线程警告和问题之下