Python 对象删除自身

2023-11-26

为什么这不起作用?我正在尝试使类的实例删除自身。

>>> class A():
    def kill(self):
        del self


>>> a = A()
>>> a.kill()
>>> a
<__main__.A instance at 0x01F23170>

“self”只是对对象的引用。 'del self' 正在从kill 函数的本地命名空间中删除'self' 引用,而不是实际的对象。

要亲自了解这一点,请查看执行这两​​个函数时会发生什么:

>>> class A():
...     def kill_a(self):
...         print self
...         del self
...     def kill_b(self):
...         del self
...         print self
... 
>>> a = A()
>>> b = A()
>>> a.kill_a()
<__main__.A instance at 0xb771250c>
>>> b.kill_b()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 7, in kill_b
UnboundLocalError: local variable 'self' referenced before assignment
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 对象删除自身 的相关文章

随机推荐

  • 为什么Java API 使用int 而不是short 或byte?

    为什么使用Java APIint when short甚至byte就足够了吗 示例 DAY OF WEEK课堂上的田野Calendar uses int 如果差异太小 那么为什么这些数据类型 short int 到底存在吗 其中一些原因已经
  • Flask-sqlalchemy 列的最大值

    可以说我有一个这样的用户模型 from flask import Flask from flask ext sqlalchemy import SQLAlchemy app Flask name app config SQLALCHEMY
  • 您可以在 Emacs Lisp 宏中创建交互式函数吗?

    我正在尝试在 emacs lisp 中编写一个宏来创建一些 辅助函数 最终 我的辅助函数将比我这里的更有用 我意识到可能有更好 更直观的方法来完成同样的事情 请发帖 但我的基本问题是为什么这不起作用 我做错了什么 defmacro deft
  • Angular:禁用整个类(服务或组件)的更改检测器

    如果通常导致更改检测运行的事件 setTimeout setInterval 浏览器事件 ajax 调用等 来自特定类 服务或组件 有没有办法完全禁用 Angular 的更改检测器 也就是说 当我发现setInterval在我的服务中注册会
  • 在 Elastic Beanstalk 中运行 cron 作业

    因此 我在 Django Elastic Beanstalk 应用程序中有一个功能 其工作原理如下 下载文件 解析文件 使用文件中的数据运行对 API 的一些调用 使用新数据更新 EB 实例的数据库 在测试实例中 我刚刚设置了本地 cron
  • NSSegmentedControl 颜色

    我想要一个 NSSegmentedControl 的子类 其中各个段具有不同的颜色 我尝试对 NSSegmentedControl 进行子类化并添加以下代码 void drawRect NSRect dirtyRect NSColor co
  • 重新定义golang中的const进行测试

    我正在为服务编写一个 http 客户端 并且为了测试我想使用net http httptest服务器而不是调用远程 API 如果我做到了 我可以轻松做到这一点baseUrl一个全局变量 设置为我的测试服务器的 url 然而 这使得生产代码更
  • 在 Delphi 2009 中我需要释放变体数组吗?

    如果我有一个只包含简单类型的变体数组 以及可能的简单类型的进一步变体数组 我是否需要执行任何显式操作来释放内存 或者这一切都为我处理好了 我一直以为没什么可做的 但我只是有一点疑问 变体是托管类型 它们由编译器的引用计数系统拥有 不需要手动
  • ios 延迟位置更新无法延迟

    我正在考虑对 iOS 活动跟踪器使用延迟位置更新 它允许在后台提供位置服务 我已经实现了建议的代码片段 见下文 在 Xcode 调试中 延迟位置会尝试启动几次 直到位置数据以大约每秒 1 次的速度传入 之后 它声称启动延迟成功 并且在指定时
  • .NET foreach 语句是否保证按照集合的构建顺序迭代集合?

    一位同事在他编写的一些 C 代码中使用了 for 循环来迭代 List 并留下了评论 没有使用 For Each 因为我不确定它是否按顺序迭代 谁知道 Microsoft 会做什么 例如 假设我们有一个像这样构建的列表 var someLi
  • 如何让Java注册一个带有空格的字符串输入?

    这是我的代码 public static void main String args Scanner in new Scanner System in String question question in next if question
  • 数据建模:逻辑建模练习

    在尝试学习数据存储艺术的过程中 我一直在尝试获取尽可能多的可靠信息 PerformanceDBA 在以下帖子中发布了一些非常有用的教程 示例 我的数据标准化了吗 and 关系表命名约定 我已经问过这个模型的一个子集问题here 因此 为了确
  • yocto:如何安装命令 locale 和 localedef?

    如何在 yocto 项目中为我的图像安装命令 locale 和 localedef 我已尝试以下操作 IMAGE INSTALL append glibc locale 但这不起作用 我该怎么做 locale位于一个名为glibc util
  • 了解 PKCE 与授权代码授予的优势

    我是 OAuth 世界的新手 我试图了解使用 PKCE 相对于传统授权代码授予的好处 我的许多假设可能是错误的 所以感谢您的指正 我是一名移动应用程序开发人员 根据 OAuth 文档 客户端机密不能在公共客户端的应用程序代码中进行硬编码 避
  • firebase云函数中的权限被拒绝

    在 firebase 云功能中 我在读取或写入实时数据库时在 admin firebase 上被拒绝访问 这https github com firebase firebase functions issues 16没有解决我的问题 App
  • DRF 中的动作装饰器不适用于 url_path

    我正在努力实现这样的终点 api messages
  • 为什么我不能使用urlencode编码json格式数据?

    我有一个关于 python 2 7 中的 urlencode 的问题 gt gt gt import urllib gt gt gt import json gt gt gt urllib urlencode json dumps titl
  • 实现 47 度 android-swipelistview 用于滑动 android ListViewItem

    实际上我的目标是在android中实现ListViewItem Swipe 我已经尝试过了 stackoverflow 有几个可以让你的 ListViewSwipe 的例子 例子 简单的滑动手势活动教程 从列表视图中滑动一项时在列表视图中显
  • 将程序加载到 RAM 并执行它们 NASM 16b

    我迫切需要解决这个问题 我正在尝试开发汇编代码 允许我加载和执行 通过用户的输入 2 个其他 Assembly EXE 程序 我有两个问题 我似乎无法将路径名分配给有效的寄存器 或者可能是错误的语法 我需要能够在第一个程序 可能是 开始执行
  • Python 对象删除自身

    为什么这不起作用 我正在尝试使类的实例删除自身 gt gt gt class A def kill self del self gt gt gt a A gt gt gt a kill gt gt gt a lt main A instan