python - 在python中括号内带有数学表达式的字符串上的format()
问题描述
有没有办法使用 .format() 获得相同的结果?
a = 10
print(f'something {a+2}')
something 12
当我尝试这样做时,我得到 KeyError:
print('something {a+2}'.format(a=10))
KeyError
Traceback (most recent call last)
<ipython-input-94-69f36f3c6aec> in <module>
----> 1 'something {a+2}'.format(a=10)
KeyError: 'a+2'
解决方案
Python 3.8 新特性(海象)
a = 10
print(f'something {(result:=a+2)}')
蟒蛇 3.7
print(f'something {(a+2)}')
print(f'something {a + 2}')
print('something {a}'.format(a=10 + 2))
print('something {}'.format(a+2))
更新了上述所有选项(只是为了符合 OP 的期望)
推荐阅读
- sql - 选择具有在另一个表中列出的值组合的行
- python - 将 SQL Lag over PartitionBy 查询转换为 pandas
- java - 如何获取 DateTimePicker 值,如果它的值在 java 中为空,则可能抛出 true
- json - 有没有办法在不读取整个数据集的情况下获取 pyspark 中数据框的列名?
- java - 仅瓷砖应用
- regex - IIS 用多个值重写规则一查询参数
- css - 是否使用显示属性来响应不良行为?
- tensorflow - 在 Keras 中寻求对 Dense Layer 的掩蔽支持
- mysql - Mysql 连接未与 VB.NET 应用程序关闭
- python - 错误“复合语句的子查询中不允许使用 ORDER BY”。在 django 中使用 Union 函数