当前位置: 首页 > 面试题库 >

嵌套的f弦

韩阳飙
2023-03-14
问题内容

感谢David
Beazley的推文
,最近我发现新的Python
3.6 f字符串
也可以嵌套:

>>> price = 478.23
>>> f"{f'${price:0.2f}':*>20s}"
'*************$478.23'

要么:

>>> x = 42
>>> f'''-{f"""*{f"+{f'.{x}.'}+"}*"""}-'''
'-*+.42.+*-'

让我感到惊讶的是,这种可能性是可行的,但是我却不知道这种实用性如何,何时嵌套f字符串有用?这可以涵盖哪些用例?

注意:PEP本身没有提到嵌套f字符串,但是有一个特定的测试用例。


问题答案:

我不认为允许嵌套的格式化字符串文字(通过嵌套,我要指的是f'{f".."}')是仔细考虑可能的用例的结果,我更坚信仅允许它们使用才能使其符合规范。

规范指出它们在括号内支持完整的Python
表达式
*。还指出,格式化的字符串文字 实际上只是 在运行时求值 的表达式
(请参阅此处和此处)。结果,只允许将格式化的字符串文字作为表达式放在另一个格式化的字符串文字中是有意义的,因为它会否定对Python表达式的完全支持。

您找不到文档中提到的用例的事实(只能在测试套件中找到测试用例)是因为这可能是实现的一个很好的(副作用)效果,而不是激发用例。

实际上,有两个例外:不允许为空表达式,并且lambda表达式必须用显式括号括起来。



 类似资料:
  • 当按下按钮删除对象子列表中的一个元素时,我试图使用ajax重新命名包含在另一个对象列表中的对象列表的容器。但是我找不到子列表对象的父容器。 java对象表示为这样的 IE 现在,我尝试将一个delete按钮与每个停止(第二个嵌套对象列表)关联起来,并使用f:ajax render重新渲染这些停止的容器。 即 现在我已经尝试了渲染id的几种不同排列,但是我不明白为什么我不能在小组上执行ajax请求。

  • 问题内容: 我必须与API进行交互,并且响应格式(根据我的阅读)似乎结构不良。我发现一个Google 网上论坛在这里回答了一个类似的问题,但是我在实现Response类来处理Gson.fromJson时遇到了麻烦。有没有我想念的例子? 问题答案: JSON对象可以由或Javabean类表示。这是一个使用Javabean的示例。 如下使用它:

  • 如何聚合一个值在嵌套在Elasticsearch嵌套位置?我对一个嵌套对象没有问题,但在嵌套对象内的嵌套我感到困惑... 样本数据: 欲望结果: 在索引映射中,我将cat_a和条目字段的类型设置为嵌套,当我从工具字段查询聚合时,在cat_a的根(级别1)中没有问题,并且可以工作,但是在聚合中在rx_a(这是在第2级)我不能检索结果,它或空或显示错误,因为我的错误查询。 查询级别1 agg: 如何处

  • 问题内容: 这是我在elasticsearch中存储在索引上的数据类型。我必须找到包含主要成分牛肉(且重量小于1000)和成分-(辣椒粉且重量小于250),(橄榄油和重量小于300)以及所有其他成分类似的食谱。 索引的映射是 我的查询是 但这给了Null。有人可以帮我吗?我认为我没有正确使用嵌套查询 问题答案: 试试这个:

  • 问题内容: 是否可以在spring嵌套@Transactional带注释的方法?考虑这样的事情: 如果我在b()中回滚并在a()中回滚,在这种情况下会发生什么? 问题答案: 不需要 对方法的第二个注释,因为默认情况下 ,其传播为,因此由method调用的方法将是事务性的。如果要在通过method调用的方法中启动新事务,则需要修改传播规则。阅读有关交易传播的信息。

  • 目标 了解如何定义嵌套类和何时适合使用它们 了解使用嵌套类的副作用 了解 new 运算符在嵌套类中的特殊用法 了解如何和何时使用静态内部类和匿名内部类 在何处使用嵌套类 顾名思义,嵌套类(或内部类) 是在一个类中定义的另一个类。 public class EnclosingClass { . . . public class NestedClass { . . . } } 像成