- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的类结构是这样的。
class A():
def __init__(self):
self.matched_condition_set = set()
def add_to_matched_condition(self,condition):
self.matched_condition_set.add(condition)
class B():
def __init__(self, list_of_A):
self.list_of_a = list_of_A
def do_stuff(self):
for a in self.list_of_a:
if helper.check_for_a(a):
print(a.matched_condition_set)
在一个名为 helper.py 的文件中,我有以下函数。
def check_for_a(a):
print(type(a))
a.add_to_matched_condition("hello")
return True
现在如果我调用 B 类对象,我明白了:
A instance has no attribute 'add_to_matched_condition'
。当我尝试在辅助方法中获取 >> print(type(a))
的类型时也是如此。我得到类型<'实例'>。物体在哪里丢失?
最佳答案
我不知道为什么你会得到A instance has no attribute 'add_to_matched_condition'
;你的代码在 Python 2.6.4 上对我来说工作正常
要在类上获得更有用的类型签名(以及其他好处),您需要使它们继承自object
。
这是我对您的代码稍作修改的版本,说明了这一点;它还显示了我如何测试您的类(class)。
#!/usr/bin/env python
import helper
class A(object):
def __init__(self):
self.matched_condition_set = set()
def add_to_matched_condition(self,condition):
self.matched_condition_set.add(condition)
class B(object):
def __init__(self, list_of_A):
self.list_of_a = list_of_A
def do_stuff(self):
for a in self.list_of_a:
if helper.check_for_a(a):
print(a.matched_condition_set)
a1 = A(); a2 = A()
b = B([a1, a2])
print a1, a2
print b, b.list_of_a
b.do_stuff()
print a1.matched_condition_set
print a2.matched_condition_set
输出
<__main__.A object at 0xb758f80c> <__main__.A object at 0xb758f84c>
<__main__.B object at 0xb758f86c> [<__main__.A object at 0xb758f80c>, <__main__.A object at 0xb758f84c>]
<class '__main__.A'>
set(['hello'])
<class '__main__.A'>
set(['hello'])
set(['hello'])
set(['hello'])
关于python - 类实例没有用于在类外部传递对象的属性 'function_name' - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27351385/
createHiveBackground 函数返回我要分配给状态的对象数组。稍后在我的应用程序中,我将使用 setHive 来更改数组的一些值。这些有什么区别? const [hive, setHiv
当我使用 window.onload=function name() 其中 function_name 是一个 javascript 函数时,该函数没有被执行。但是当我使用 window.onload
我的类结构是这样的。 class A(): def __init__(self): self.matched_condition_set = set() def add
很多时候我看到如下语句 Y.CustomApp.superclass.render.apply(this, arguments); 我知道应用是如何工作的。根据 MDN Calls a functi
真的很抱歉这个极其愚蠢的标题,但如果我知道它是什么,我就不会写在这里 (: def some_decorator( func ): # .. class A: @some_decora
void foo(int a) { cout <
我目前正在做一个 python 教程,但他们使用 IDLE,我选择在终端上使用解释器。所以我必须找出如何导入我创建的模块。一开始我试过 import my_file 然后我尝试自己调用模块内部的函数,
假设我有两个 x86 汇编语言函数定义为: .globl func_name1; .type func_name1, @function; .align 2; func_name1: /
我们有以下工作测试示例: "use strict"; var should = require("chai").should(); var multiply = function(x, y) {
我有一个上传文件按钮。 注意:onclick="getFile()" 因此,当单击 btn 时,将调用 getFile() 函数。 HTML click to upload
我正在开发一个程序,该程序将文件中的高度值读取到二维数组(矩阵)中,并且我试图将该数组传递给另一个找到最大值的函数。我知道,默认情况下,数组是通过引用传递的,但我并没有试图在函数中更改数组的值,所以这
这是 utils.hpp 中定义的函数原型(prototype)声明(非 OOP,因此不在任何类中) static void create_xy_table(const k4a_calibration
找到一个好的标题有点困难,如果这个标题具有误导性,我们深表歉意.. 我想编写一个函数,它将接受其他函数(及其可能的参数)以及其他参数。 例如我有以下功能: def f1(): pass def
我想将一个 HTML 页面(组件)用于另一个组件。但是我找不到点击事件。 Dashboard.component :- import { Component, OnInit, AfterViewIni
所以这是代码: #include #include void draw(int length, char brush); int stringLength(char name[]); void d
我有一个用 C 编写的开源项目,正在学习用 C++ 包装它。 C 中使用的所有函数都在 header 中定义,并且我已将 C++ 代码中的这些函数链接为静态库(具有 include 和 lib 文件)
这个问题在这里已经有了答案: Know JavaScript Function Expression vs Function Declaration, but what is this? Named
我从 Windows 转到了 Ubuntu,我想在 Ubuntu 上尝试一些 C++ 编程。所以这是非常简单的代码和非常愚蠢的错误,我无法解决: 马.h #ifndef _horse_ #define
import networkx as nx #@UnresolvedImport from networkx.algorithms import bipartite #@UnresolvedImpor
在名为 ::foo() 的函数中,我不明白语法的用途。如果它是 foo::count_all() 那么我知道 count_all 是类或命名空间 foo 的函数。 在 ::foo() 的情况下,::
我是一名优秀的程序员,十分优秀!