python教程—字符串& # 39;f # 39;前缀在python – 3.6-Python实用宝典

python教程—字符串& # 39;f # 39;前缀在python – 3.6

我用的是python3.6。在研究新代码时,我偶然发现了这个新语法:看起来我们可以这样做:

我用的是python3.6。在研究新代码时,我偶然发现了这个新语法:

    f"My formatting string!"

似乎我们可以这样做:

    >>> name = "George" >>> print(f"My cool string is called {name}.") My cool string is called George.

谁能解释一下它的内部工作原理?特别是一个f前缀字符串可以接受的变量的范围是什么?

回答

参见PEP 498 文字字符串插值:

从字符串中提取的表达式将在f-string出现的上下文中求值。这意味着表达式可以完全访问本地和全局变量。可以使用任何有效的Python表达式,包括函数和方法调用。

因此表达式被求值,就好像它们出现在相同的范围内一样;局部变量、闭包和全局变量的工作方式都与在相同上下文中的其他代码相同。

您将在参考文档:

格式化字符串文本中的表达式被视为由圆括号包围的正则Python表达式,只有少数例外。不允许使用空表达式,lambda表达式必须用显式括号括起来。替换表达式可以包含换行符(例如,在三引号的字符串中),但是不能包含注释。按照从左到右的顺序,在格式化字符串文字出现的上下文中计算每个表达式。

由于您正在尝试一个3.6 alpha构建,请务必阅读 Python 3.6中的新内容文档。它总结了所有更改,包括到相关文档和PEPs的链接。

需要说明的是:3.6还没有发布 ;第一个alpha版本预计要到2016年5月才会发布。参见3.6发布时间表

我有这样的问题,在导入模块行:
response_json = requests.get (f '{自我。api_url} /{路径}’,params) . json ()
我是这样做的:

    response_json = requests.get('{}/{}'.format(self.api_url, path), params).json()

​Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

本文由 Python实用宝典 作者:Python实用宝典 发表,其版权均为 Python实用宝典 所有,文章内容系作者个人观点,不代表 Python实用宝典 对观点赞同或支持。如需转载,请注明文章来源。
1

发表评论