当前位置: 首页 > 知识库问答 >
问题:

创建属性名为全局的对象

丁英韶
2023-03-14

出于业务逻辑的原因,我希望能够创建一个具有global属性的对象。但我显然不能

class Foo(object):
    
    def __init__(self):
        self.global = True

因为global是在Python中具有特殊含义的保留关键字。但是,使用__getattr____getattribute__动态获取属性也存在同样的问题。我可以这样做吗,还是必须让属性名global_

共有1个答案

严天逸
2023-03-14

我认为您只需要做global_,我不认为有任何方法可以绕过这一点,因为使用保留的关键字命名是非法的,并且会产生各种问题。

编辑:您可以查看这篇文章:如何在Python中使用保留关键字作为变量的名称?

 类似资料:
  • 在JavaScript中,声明在全局对象上创建属性: ES6使用具有块作用域的声明引入词法作用域。 但是,这些声明是否在全局对象上创建属性?

  • 问题内容: 在JavaScript中,声明在全局对象上创建属性: ES6引入了具有作用域范围的声明的词法作用域。 但是,这些声明是否在全局对象上创建属性? 问题答案: 语句是否在全局对象上创建属性? 根据规范,否: 全局环境记录在逻辑上是单个记录,但是它被指定为封装对象环境记录和声明性环境记录的复合记录。该对象环境记录作为其基本对象相关的全局对象境界。该全局对象是全局环境记录的GetThisBin

  • 全局属性 全局属性通过 fis.set 设置,通过 fis.get 获取; 内置的默认配置 var DEFAULT_SETTINGS = { project: { charset: 'utf8', md5Length: 7, md5Connector: '_', files: ['**'], ignore: ['node_modules/**', 'ou

  • 在VitePress中,一些核心的 计算属性 可用在默认主题或自定义主题中。也可以直接用在使用Vue的Markdown页面中,例如使用$frontmatter.title可以获取在页面frontmatter中定义的标题。 $site 这是当前访问站点的$site值: { base: '/', lang: 'en-US', title: 'VitePress', descriptio

  • 问题内容: 我想在Python中创建一个动态对象(在另一个对象内部),然后向其添加属性。 我试过了: 但这没用。 有任何想法吗? 编辑: 我正在从循环遍历值列表的循环中设置属性,例如 在上面的例子中,我会得到,,。 我使用该函数是因为我不知道如何从循环中进行操作。 如何根据上例中的值设置属性? 问题答案: 您可以使用我古老的Bunch配方,但是如果您不想创建“绑定类”,则Python中已经存在一个

  • 问题内容: 我想将日志事件作为带有参数化字符串消息的JSON对象发送到Loggly。我们的项目目前有很多代码如下: 我们目前正在使用Logback作为SLF4J后端,并使用Logback的JsonLayout将ILogEvent对象序列化为JSON。因此,当他们将我们的日志事件发送到Loggly时,它们看起来像这样: 尽管这样做确实有效,但它会为的每个值发送一个不同的字符串,这使Loggly的自动