对象不包括列表理解中的方法

2024-04-01

这个问题与我之前的问题 https://stackoverflow.com/questions/65021583/list-comprehensions-with-class-objects以及比尔的回应。

我在 subfile.py 中有一个名为 StrucData 的类

class StrucData:  
    def __init__(self, name):
        self.name=name
    
    def loadData(self, size=1, cost=1):
        self.size=size  
        self.cost=cost
        return self

在主文件中我:

  1. 调用子文件,
  2. 创建数据名称列表
  3. 循环遍历列表来实例化对象;和
  4. 使用每个对象的“loadData”方法加载数据(我使用相同的“大小”和“成本”来使这个示例变得简单。)

一次性使用列表理解:

# in the main file

from subfile import StrucData 

listIndex=['data1','data2','data3']
listObjects = [StrucData(idx).loadData(size=3, cost=4) for idx in listIndex]

输出是

listObjects=[object1, object2, object3]

in which each object contains its attributes defined in the subfile.py (name, size, cost). enter image description here

我想知道的是,当我使用与以下相同的代码定义一个对象时

x=StrucData(listIndex[0]).loadData(size=3, cost=4) 

it contains the method 'loadData' too. enter image description here

谁能向我解释一下为什么会发生这种情况?

I use anaconda3 distribution of Spyder, the version information is enter image description here


在 Spyder 中调试应用程序时使用的检查器对列表中的对象的处理方式与相同类型的单个对象不同。它只是显示不同的内容,并且 - 如果在列表中 - 省略功能。

您可以通过打印轻松检查两个对象是否具有此方法:

listIndex = ['data1','data2','data3']
listObjects = [StrucData(idx).loadData(size=3, cost=4) for idx in listIndex]

other = StrucData("other").loadData(size=3, cost=4) 

print(listObjects[0].loadData)
print(other.loadData)

您可以将列表元素之一分配给普通变量并检查其检查器输出以进行验证:

lO = listObjects[1]

设置断点并检查它 - 现在该方法出现了。

至于原因:询问负责Spyder调试检查器代码的编码人员。作为一个冒险的猜测:在显示捆绑在列表中的对象时节省屏幕空间。

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

对象不包括列表理解中的方法 的相关文章

  • Python 中的 Lanczos 插值与 2D 图像

    我尝试重新缩放 2D 图像 灰度 图像大小为 256x256 所需输出为 224x224 像素值范围从 0 到 1300 我尝试了两种使用 Lanczos 插值来重新调整它们的方法 首先使用PIL图像 import numpy as np
  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • 如何在flask中使用g.user全局

    据我了解 Flask 中的 g 变量 它应该为我提供一个全局位置来存储数据 例如登录后保存当前用户 它是否正确 我希望我的导航在登录后在整个网站上显示我的用户名 我的观点包含 from Flask import g among other
  • Flask 会话变量

    我正在用 Flask 编写一个小型网络应用程序 当两个用户 在同一网络下 尝试使用应用程序时 我遇到会话变量问题 这是代码 import os from flask import Flask request render template
  • Python 函数可以从作用域之外赋予新属性吗?

    我不知道你可以这样做 def tom print tom s locals locals def dick z print z name z name z guest Harry print z guest z guest print di
  • 如何加速Python中的N维区间树?

    考虑以下问题 给定一组n间隔和一组m浮点数 对于每个浮点数 确定包含该浮点数的区间子集 这个问题已经通过构建一个解决区间树 https en wikipedia org wiki Interval tree 或称为范围树或线段树 已经针对一
  • AWS EMR Spark Python 日志记录

    我正在 AWS EMR 上运行一个非常简单的 Spark 作业 但似乎无法从我的脚本中获取任何日志输出 我尝试过打印到 stderr from pyspark import SparkContext import sys if name m
  • 从 Flask 访问 Heroku 变量

    我已经使用以下命令在 Heroku 配置中设置了数据库变量 heroku config add server xxx xxx xxx xxx heroku config add user userName heroku config add
  • 添加不同形状的 numpy 数组

    我想添加两个不同形状的 numpy 数组 但不进行广播 而是将 缺失 值视为零 可能最简单的例子是 1 2 3 2 gt 3 2 3 or 1 2 3 2 1 gt 3 2 3 1 0 0 我事先不知道形状 我正在弄乱每个 np shape
  • Flask如何获取请求的HTTP_ORIGIN

    我想用我自己设置的 Access Control Allow Origin 标头做出响应 而弄清楚请求中的 HTTP ORIGIN 参数在哪里似乎很混乱 我在用着烧瓶 0 10 1 以及HTTP ORIGIN似乎是这个的特点之一object
  • Python 的“zip”内置函数的 Ruby 等价物是什么?

    Ruby 是否有与 Python 内置函数等效的东西zip功能 如果不是 做同样事情的简洁方法是什么 一些背景信息 当我试图找到一种干净的方法来进行涉及两个数组的检查时 出现了这个问题 如果我有zip 我可以写这样的东西 zip a b a
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • 对年龄列进行分组/分类

    我有一个数据框说df有一个柱子 Ages gt gt gt df Age 0 22 1 38 2 26 3 35 4 35 5 1 6 54 我想对这个年龄段进行分组并创建一个像这样的新专栏 If age gt 0 age lt 2 the
  • 有没有办法检测正在运行的代码是否正在上下文管理器内执行?

    正如标题所述 有没有办法做到这样的事情 def call back if called inside context print running in context else print called outside context 这将
  • 类型错误:预期单个张量时的张量列表 - 将 const 与 tf.random_normal 一起使用时

    我有以下 TensorFlow 代码 tf constant tf random normal time step batch size 1 1 我正进入 状态TypeError List of Tensors when single Te
  • Conda SafetyError:文件大小不正确

    使用创建 Conda 环境时conda create n env name python 3 6 我收到以下警告 Preparing transaction done Verifying transaction SafetyError Th
  • 在 HTML 下拉列表中有一个滚动条

    我正在寻找一种在 HTML 的下拉列表中添加滚动条的方法 这样如果下拉列表包含的内容超过例如 5 项 将出现滚动条以查看其余项 这是因为我将被迫列出一些大清单 过去几个小时我一直在谷歌上搜索它 但没有运气 它需要适用于 IE8 FF 和 C
  • 如何计算 pandas 数据帧上的连续有序值

    我试图从给定的数据帧中获取连续 0 值的最大计数 其中包含来自 pandas 数据帧的 id date value 列 如下所示 id date value 354 2019 03 01 0 354 2019 03 02 0 354 201
  • 使用其构造函数初始化 OrderedDict 以便保留初始数据的顺序的正确方法?

    初始化有序字典 OD 以使其保留初始数据的顺序的正确方法是什么 from collections import OrderedDict Obviously wrong because regular dict loses order d O
  • Statsmodels.formula.api OLS不显示截距的统计值

    我正在运行以下源代码 import statsmodels formula api as sm Add one column of ones for the intercept term X np append arr np ones 50

随机推荐

  • 过滤 QueryDSL 搜索的结果

    我使用 QueryDSL 作为 Spring Data Rest 的一部分来从我们的 API 中搜索实体 是否可以以某种方式过滤搜索 API 以便默认情况下不会找到 已停用 的汽车实体 目前 我在汽车实体上有一个标志 当它设置为 true
  • 加速 Selenium Webdriver

    我在 Perl 语言绑定下使用 Selenium Webdriver 2 0 和 Firefox 20 它非常慢 例如 一个常见的操作是填写几个
  • 获取 Playwright 中输入元素的值

    如何返回 elem 的值以便我可以验证它确实是1 const elem await page input my input await elem fill 1 另外 从 v1 20 开始 还有toHaveValue可以验证元素值的匹配器 a
  • 如何使用 php 获取 XML 中所有现有标签的列表

    我有一个 xml 数据 如下所示
  • 替换 Camel v2.16.0 中已弃用的 beanRef()

    我们正在从 Camel v2 13 升级到 v2 16 并发现 beanRef 已被标记为已弃用 Apache Camel 推荐的替代 替代方案是什么 我在 Camel v2 16 0 文档网站上找不到任何有用的东西 甚至更新的示例尚不可用
  • 错误:在调用 FB.init() 之前调用了 FB.login()

    我使用这个 Facebook 登录按钮代码 div div
  • Jetty 如何处理具有不同依赖项的相同类的类加载?

    我想知道当多个依赖路径可能导致同一个类时 jetty 如何处理 例如 Jetty 预先打包了 JSTL 1 2 但我添加了一个依赖项来加载 JSTL 1 2 4 在编译时 如果我断点测试它在eclipse中下载源代码 它会在1 2 4版本处
  • 使用 MongoDB 进行两阶段提交

    这就是我的想法 当使用 MongoDB 等每个操作都是原子操作并且不支持除此之外的事务时 您是否发现这种模拟两阶段提交的解决方法有任何问题 transaction scope read message from servicebus Upd
  • Bootstrap 3选择内联输入形式

    我正在尝试获取输入并选择彼此内联的选项 例如该演示使用 Bootstrap 2 死链接 http bootply com 93408 遵循 Bootstrap 3 指南 我设法做到这一点 div class container div cl
  • 获取文本框中插入符号的位置

    如何获取 TextBox 控件可见客户区域中的插入符位置 x y 我需要向文本框添加自动完成功能 我发现了WPF 的解决方案 https stackoverflow com questions 1053539 finding the pos
  • Bash 'read' 命令在 Mac 上不接受 -i 参数。还有其他选择吗?

    我有一个 bash 脚本 在我的工作 Ubuntu 机器上运行良好 但遗憾的是 当我尝试在我的 Mac OSX Lion Mountain Lion 笔记本电脑上运行它时 它就崩溃了 杀死它的那行是这样的 while z SSHFS PAT
  • rufus cron 作业在 Apache/Passenger 中不起作用

    我有一个在 Apache Passenger 上运行的 Rails 应用程序 它有一个 rufus scheduler cron 作业 在后台运行并通过电子邮件发送通知 当我在 WEBrick 服务器上运行正在开发的应用程序时 电子邮件会像
  • 如何在地图视图中添加自定义标注视图

    我是 Objective C 中的 MapKit 新手 我可以在地图视图中添加自定义注释 我需要放置自定义标注视图 如下图所示 但我不明白如何设计这样的标注视图 我知道我需要在注释方法的视图中添加标注 MKAnnotationView ma
  • VB.net 中 json.net 的简单工作示例

    我从一个提供者那里得到了以下简化的 JSON 字符串 自从我使用 Visual Studio 和 vb Net 以来已经很长时间了 所以我很生疏 Venue ID 3145 Name Big Venue Clapton NameWithTo
  • 需要用Java将文件上传到S3上

    我最近开始在 AWS 上工作 我目前正在开发 S3 存储的上传功能 根据我的理解 可以有两种方法将文件上传到 S3 客户端的文件上传到我的服务器 我使用我的凭据将此文件上传到 S3 服务器 我还可以向客户端隐藏此信息 因为我不会显示上传详细
  • Java中识别具有相同内容的图像

    前段时间 我花了一些时间寻找如何确定两个图像是否相同的方法 以便回答这个问题 https stackoverflow com questions 8644960 java library to compare image similarit
  • 对于 Makefile 变量的每个目标

    我的 makefile 如下所示 apps app1 app2 app3 all dir app1 app2 app3 zip cleanup 现在我想在列表上做一些循环apps多变的 就像是 loop on apps endloop 是否
  • Leaflet:突然我收到此错误消息:无法加载资源:服务器响应状态为 403 ()

    突然我收到此错误消息 这对我来说很奇怪 因为我没有接触过地图部分 Failed to load resource the server responded with a status of 403 在寻找线索时 我发现了这个过时的信息 ht
  • 为什么按 Ctrl+“+”会在文本框中产生蜂鸣声?

    我正在与C and Windows Forms并想使用Ctrl Oemplus 作为一个函数key对于我的申请 我用一个German keyboard该键位于字母 P 右侧 2 个键 即 每当我按下此键与Ctrl重点是TextBox我听到一
  • 对象不包括列表理解中的方法

    这个问题与我之前的问题 https stackoverflow com questions 65021583 list comprehensions with class objects以及比尔的回应 我在 subfile py 中有一个名