python @properties 如何以及何时进行评估

2024-03-16

这是一段代码。

class TestClass:
    def __init__(self):
        self.a = "a"
        print("calling init")

    @property
    def b(self):
        b = "b"
        print("in property")
        return b

test_obj = TestClass()
print("a = {} b = {}".format(test_obj.a,test_obj.b))

我试图理解when变量b在 test_obj 内部定义的值是“b”。

从下面的屏幕截图中可以看到,第 13 行的语句尚未被评估/执行,但已经是b因为test_obj已经初始化了。通过在每一行上放置断点来调试它并不能帮助我理解这是如何发生的。

enter image description here Can someone please explain this to me ?


更有可能的是,IDE 试图向您展示以下内容的价值:test_obj.b是。为此它从中获取值test_obj.b。因为这并没有多大区别b是一个属性或@property,调试器本质上只是做test_obj.b对你来说,这赋予了它价值'b'.

功能def b与您对任何其他普通函数的期望完全一样;只是调试器/IDE 会隐式地为您调用它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python @properties 如何以及何时进行评估 的相关文章

  • 使用 python requests 模块时出现 HTTP 503 错误

    我正在尝试发出 HTTP 请求 但当前可以从 Firefox 浏览器访问的网站响应 503 错误 代码本身非常简单 在网上搜索一番后我添加了user Agent请求参数 但也没有帮助 有人能解释一下如何消除这个 503 错误吗 顺便说一句
  • 如何用python脚本控制TP LINK路由器

    我想知道是否有一个工具可以让我连接到路由器并关闭它 然后从 python 脚本重新启动它 我知道如果我写 import os os system ssh l root 192 168 2 1 我可以通过 python 连接到我的路由器 但是
  • 如何使用 opencv.omnidir 模块对鱼眼图像进行去扭曲

    我正在尝试使用全向模块 http docs opencv org trunk db dd2 namespacecv 1 1omnidir html用于对鱼眼图像进行扭曲处理Python 我正在尝试适应这一点C 教程 http docs op
  • 将html数据解析成python列表进行操作

    我正在尝试读取 html 网站并提取其数据 例如 我想查看公司过去 5 年的 EPS 每股收益 基本上 我可以读入它 并且可以使用 BeautifulSoup 或 html2text 创建一个巨大的文本块 然后我想搜索该文件 我一直在使用
  • 从表达式函数获取父属性

    假设我有以下课程 public class Model public AnotherModel InnerModel get set public class AnotherModel public String Value get set
  • Python getstatusoutput 替换不返回完整输出

    我发现了这个很棒的替代品getstatusoutput Python 2 中的函数在 Unix 和 Windows 上同样有效 不过我觉得这个方法有问题output被构建 它只返回输出的最后一行 但我不明白为什么 任何帮助都是极好的 def
  • 使用 kivy textinput 的 'input_type' 属性的问题

    您好 我在使用 kivy 的文本输入小部件的 input type 属性时遇到问题 问题是我制作了两个自定义文本输入 其中一个称为 StrText 其中设置了 input type text 然后是第二个文本输入 名为 NumText 其
  • 使用Python请求登录Google帐户

    在多个登录页面上 需要谷歌登录才能继续 我想用requestspython 中的库以便让我自己登录 通常这很容易使用requests库 但是我无法让它工作 我不确定这是否是由于 Google 做出的一些限制 也许我需要使用他们的 API 或
  • 您可以格式化 pandas 整数以进行显示,例如浮点数的“pd.options.display.float_format”?

    我见过this https stackoverflow com questions 18404946 py pandas formatdataframe and this https stackoverflow com questions
  • 立体太阳图 matplotlib 极坐标图 python

    我正在尝试创建一个与以下类似的简单的立体太阳路径图 http wiki naturalfrequent com wiki Sun Path Diagram http wiki naturalfrequency com wiki Sun Pa
  • YOLOv8获取预测边界框

    我想将 OpenCV 与 YOLOv8 集成ultralytics 所以我想从模型预测中获取边界框坐标 我该怎么做呢 from ultralytics import YOLO import cv2 model YOLO yolov8n pt
  • 如何在 Python 中解析和比较 ISO 8601 持续时间? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 Python v2 库 它允许我解析和比较 ISO 8601 持续时间may处于不同单
  • 从Python中的字典列表中查找特定值

    我的字典列表中有以下数据 data I versicolor 0 Sepal Length 7 9 I setosa 0 I virginica 1 I versicolor 0 I setosa 1 I virginica 0 Sepal
  • 在 Sphinx 文档中*仅*显示文档字符串?

    Sphinx有一个功能叫做automethod从方法的文档字符串中提取文档并将其嵌入到文档中 但它不仅嵌入了文档字符串 还嵌入了方法签名 名称 参数 我如何嵌入only文档字符串 不包括方法签名 ref http www sphinx do
  • 加快网络抓取速度

    我正在使用一个非常简单的网络抓取工具抓取 23770 个网页scrapy 我对 scrapy 甚至 python 都很陌生 但设法编写了一个可以完成这项工作的蜘蛛 然而 它确实很慢 爬行 23770 个页面大约需要 28 小时 我看过scr
  • 如何断言 Unittest 上的可迭代对象不为空?

    向服务提交查询后 我会收到一本字典或一个列表 我想确保它不为空 我使用Python 2 7 我很惊讶没有任何assertEmpty方法为unittest TestCase类实例 现有的替代方案看起来并不正确 self assertTrue
  • 如何应用一个函数 n 次? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 假设我有一个函数 它接受一个参数并返回相同类型的结果 def increment x return x 1 如何制作高阶函数repeat可以
  • cv2.VideoWriter:请求一个元组作为 Size 参数,然后拒绝它

    我正在使用 OpenCV 4 0 和 Python 3 7 创建延时视频 构造 VideoWriter 对象时 文档表示 Size 参数应该是一个元组 当我给它一个元组时 它拒绝它 当我尝试用其他东西替换它时 它不会接受它 因为它说参数不是
  • 使用 z = f(x, y) 形式的 B 样条方法来拟合 z = f(x)

    作为一个潜在的解决方案这个问题 https stackoverflow com questions 76476327 how to avoid creating many binary switching variables in gekk
  • Kivy - 单击按钮时编辑标签

    我希望 Button1 在单击时编辑标签 etykietka 但我不知道如何操作 你有什么想法吗 class Zastepstwa App def build self lista WebOps getList layout BoxLayo

随机推荐

  • 锁定整个数据库?

    我有非常奇怪的用户需求 我试图向他们解释有更好的方法来支持他们的业务流程 但他们不想听 我很想走开 但我首先想看看是否还有其他方法 有什么方法可以锁定整个数据库而不是行锁或表锁 我知道我也许可以将数据库置于单用户模式 但这意味着一次只有一个
  • Maven Surefire:无法分叉并行测试执行

    使用 Maven Surefire 我无法分叉并行测试执行 也就是说 我的每个测试用例都必须在单独的 JVM 中运行 因此需要分叉 此外 我希望我的测试用例并行运行 第一部分工作没有问题 我能够在自己的 JVM 中运行每个测试用例 然而 第
  • 如何在不实际构建东西的情况下使 gradle 下载依赖项

    到了新的环境gradle build需要相当长的时间 因为必须下载所有依赖项 有没有办法只下载依赖项以加快后续构建的速度 这样我们就可以预先填充 CI 构建环境 编辑 针对 Gradle 6 进行了更新 一些注意事项 这种新方法将 jar
  • dplyr 用动态列进行总结

    我正在尝试对我的 postgres 数据库使用 dplyr 并执行一个简单的函数 如果我直接解析列名 一切都会正常 但是我想动态地执行此操作 即对另一个数据帧中的每个列名进行排序 我遇到的问题是对于前两个计算 我得到了正确的结果 假设第一个
  • 在 Eclipse 中找不到库“libmaliinstr.so”

    请帮我 我的Android应用程序是一个闹钟应用程序 可以在许多Android设备上按时播放 但是在华为荣耀C3等某些设备上播放时 我的代码出现错误 错误是 09 26 18 17 19 119 E linker 23841 load li
  • 导入 Python 模块时 __package__ 为 None

    我想通过以下方式动态导入模块 我创建一个名为 pkg 的文件夹 其结构如下 pkg init py foo py 在头 init py 添加此代码片段 pkgpath os path dirname pkg file for module
  • 移动字符串?

    我正在编写一个用 C 解决凯撒密码的程序 它采用字母表字符串 并在每次循环时将其向左移动 abc yz gt bcd yza 问题出在另一个循环之后 bcd yza gt cde yzaa char temp holds the first
  • 如何在 Gradle 中应用补丁文件?

    我有一个 Gradle 构建脚本 可以成功构建我的项目并编译我需要的所有工件 然而 在某些情况下 我想让其他开发人员可以选择修补某些文件 例如 在其中一个档案中有一个 xml 文件 其中包含有关数据库挂钩的信息 一些开发人员使用其他版本 甚
  • 如何增加 NetBeans IDE 中的字体大小?

    我刚刚买了一台相当大的新显示器 但在阅读编辑器上的文本时遇到了很多困难 我尝试以通常的方式增加字体大小 工具 gt gt 选项 gt gt 字体和颜色 gt gt 单击字体旁边的 按钮 gt gt 然后选择大字体大小 这是结果 点击查看大图
  • 如何将两个 Post/Category 表 MYSQL SELECT 查询合并为一个

    我有两个 MySQL 查询 1 SELECT ID post title post category post perma FROM TBL POSTS WHERE published 1 AND page 0 ORDER BY ID DE
  • jQuery ajax 删除 url 上的整数

    我正在使用这些数据 Pulled from the button that was hit var method document activeElement getAttribute method toUpperCase var url
  • 渐进式 Web 应用程序 - 不尊重屏幕方向

    我的网络应用程序不遵循我的设置中的方向manifest json manifest version 2 version 1 name My App short name My App icons src img myapp launcher
  • 61classes.jar 中存在重复的类,classes.jar 位于何处?

    所以 我的应用程序遇到了一个菜鸟问题 我已经开发了大约两周 突然间 它在启动时开始出现错误 该应用程序快完成了 现在它不再工作了 问题似乎出在classes jar文件夹中 我找不到这个文件夹 因为我是菜鸟 我已经尝试了在该线程上找到的几乎
  • nvarchar(max) 与 NText

    使用的优点和缺点是什么nvarchar max vs NTextSQL Server 中的数据类型 我不需要向后兼容 所以没关系nvarchar max 较旧的 SQL Server 版本不支持 Edit 显然这个问题也适用于TEXT an
  • 为什么在执行 record.inspect 时没有输出 attr_accessor 虚拟属性

    在我的 ListItem Rails 模型中 我有 attr accessor catalyst action actor user id actor full name 我可以在控制器中设置这些变量 并且我确认当记录到达观察者时它们仍然存
  • 在 javascript 中运行 fabcar 示例时出错 [重复]

    这个问题在这里已经有答案了 我正在尝试使用 javascript 链代码运行 fabcar 示例 在实例化链代码时失败并出现以下错误 error could not assemble transaction err proposal res
  • 具有改进的 CI/CD 的 Azure 数据工厂部署

    我正在关注此处发布的为 ADF 设置的新推荐 ci cd https learn microsoft com en us azure data factory continuous integration deployment improv
  • select2 下拉自动宽度无法正常工作

    我正在使用 select2 来设置dropdownautowidth在我的 SharePoint 搜索页面上设置为 true 并且第一次在页面加载时完美运行 在我搜索某个关键字后 页面会加载搜索结果 然后 dropdownautowidth
  • 使用 __dirname 时如何转到父目录? [复制]

    这个问题在这里已经有答案了 目录结构 WebApiRole GulpFile js test Karma conf js 咕噜代码来自GulpFile js gulp task test function done karma start
  • python @properties 如何以及何时进行评估

    这是一段代码 class TestClass def init self self a a print calling init property def b self b b print in property return b test