跳转到主要内容

使用当前作用域中的名称格式化字符串。

项目描述

ScopeFormatter 允许Python的字符串格式化与当前作用域中的名称一起使用,类似于Ruby和Perl等语言中发现的变量插值。

示例

>>> from scopeformatter import F
>>> greeting = 'Hello'
>>> def greet(name):
...     return F('{greeting}, {name}!')
>>> greet('world')
'Hello, world!'

接受位置和关键字参数

>>> F('{greeting} {0} times, {name}!', len(greeting), name='world')
'Hello 5 times, world!'

需求

堆栈检查需要提供 sys._getframe() 的Python VM,例如CPython。

限制

除非它们在局部作用域中引用,否则将找不到封装作用域中的非全局名称。

>>> def outer():
...     non_local = 'non-local'
...     def inner():
...         return F('{non_local} is not referenced locally')
...     return inner()
>>> outer()
Traceback (most recent call last):
    ...
KeyError: 'non_local'
>>> def outer():
...     non_local = 'non-local'
...     def inner():
...         non_local
...         return F('{non_local} is referenced locally')
...     return inner()
>>> outer()
'non-local is referenced locally'

历史

1.0.3 – 2009年10月22日

  • 已将历史添加到项目页面。

  • 添加了额外的文档文件。

1.0.2 – 2009年10月22日

  • 重新组织了元数据。

  • 删除了setuptools和nose的依赖项。

1.0.1 – 2009年10月3日

  • 对元数据进行了小的补充。

1.0 – 2009年9月25日

  • 初始发布。

项目详情


下载文件

下载适合您平台的应用程序文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

ScopeFormatter-1.0.3.tar.gz (3.1 kB 查看散列值)

上传于 源代码

支持