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

python字符串格式调用函数

宋凌龙
2023-03-14
问题内容

有没有一种方法可以使用新的格式语法来格式化函数调用中的字符串?例如:

"my request url was {0.get_full_path()}".format(request)

因此它在字符串 内部* 调用函数get_full_path函数,而不是在格式化函数中作为参数*

编辑:这是另一个示例,可能会更好地显示我的挫败感,这就是我想要的:

"{0.full_name()} {0.full_last_name()} and my nick name is {0.full_nick_name()}".format(user)

这是我要避免的事情:

"{0} and {1} and my nick name is {2}".format(user.full_name(), user.full_last_name(), user.full_nick_name())

问题答案:

Python 3.6添加了文字字符串插值,并以f前缀编写。请参阅PEP
0498-文字字符串插值

这允许一个人写

>>> x = 'hello'
>>> s = f'{x}'
>>> print(s)
hello

应当注意,这些不是实际的字符串,而是代表每次都会求值为字符串的代码。在上面的示例中,s将为type str,具有value
'hello'。你不能传递一个f-string周围,因为它会进行评估,结果str在使用之前(不像str.format,但就像其他字符串文字修饰,比如r'hello'b'hello''''hello''')。(PEP
501-通用字符串内插
(目前已延迟)建议使用字符串文字,该字符串文字将求值为可以稍后进行替换的对象。)



 类似资料:
  • 主要内容:指定最小输出宽度,指定对齐方式,指定小数精度我们在《 第一个Python程序——在屏幕上输出文本》中讲到过 print() 函数的用法,这只是最简单最初级的形式,print() 还有很多高级的玩法,比如格式化输出,这就是本节要讲解的内容。 熟悉C语言 printf() 函数的读者能够轻而易举学会 Python print() 函数,它们是非常类似的。 print() 函数使用以 开头的转换说明符对各种类型的数据进行格式化输出,具体请看下表。

  • 本文向大家介绍Python中用format函数格式化字符串的用法,包括了Python中用format函数格式化字符串的用法的使用技巧和注意事项,需要的朋友参考一下 自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足。那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱。 语法 它通过{}和:来代替%。 “映射”示例 通过位置

  • 函数名称:格式化字符串 函数功能:将字符串进行格式化,返回一个类似 printf 的格式化字符串 函数方法 st = string.find(str,arg) 参数 类型 必填 说明 str string 是 待格式化的字符串/模式匹配 arg - 是 任意内容,需要与 str 模式匹配支持的类型(number/string)相同 模式匹配用法 参数 类型 %c 接收一个数字, 并将其转化为 AS

  • 问题内容: 我正在开发一个应用程序,在其中执行一些请求以获取对象ID。在它们每个之后,我调用一个方法()将此id作为参数传递(请参见下面的代码)。 可以注意到,我正在将其转换为前缀并将其与前缀连接。但是,我知道我能做到这一点的多种其他方式(或者,例如),并在我的问题的结果:将超过字符串连接更好的可读性,代码约定和效率方面? 谢谢 问题答案: 这很容易成为基于意见的主题,但是我发现格式在大多数情况下

  • 问题内容: 我有一个str对象,例如:。我想从此字符串运行安装方法。例如,当我打电话时它将呼叫。有什么办法吗? 问题答案: 如果在课程中,则可以使用getattr: 或者它是一个函数:

  • 问题内容: Python 2.6引入的方法与现有%运算符的语法略有不同。哪个更好,什么情况下适合? 以下使用每种方法并具有相同的结果,那么有什么区别? 此外,何时在Python中进行字符串格式化?例如,如果我的日志记录级别设置为,那么执行以下操作是否还会对我有所帮助?如果是这样,有办法避免这种情况吗? 问题答案: 第一个问题在许多方面似乎都更加复杂。一个令人烦恼的事情是它如何可以接受变量或元组。你