number是代码中定义如下的变量:
number=[(1, 0.44383160070768396), (1, 0.5999405754368163), (1, 0.44564960553183486)]
我有一个接受对象并执行某些操作的方法。
foo = FooClass (number)
foo.method_1() #calling from FooClass
如何将数字变量作为python中的对象传递? 另一个问题是变量中绑定数据或绑定数据作为对象之间的区别是什么。
任何简单的例子都会非常感激。谢谢。
答案 0 :(得分:1)
您的number
似乎是list
2 - tuple
。您可以在创建实例时将其作为实例属性存储在FooClass
中,然后通过self
在实例方法中访问它:
class FooClass(object):
def __init__(self, number):
self.number = number
def method_1(self):
# use self.number here
将数据绑定为变量或对象之间没有区别;在Python中,一切都是对象,变量是对这些对象的名称引用。
答案 1 :(得分:0)
number=[(1, 0.44383160070768396), (1, 0.5999405754368163), (1, 0.44564960553183486)]
< =>
number=list((1, 0.44383160070768396), (1, 0.5999405754368163), (1, 0.44564960553183486))
此处number
是类list
的对象。
它拥有这一类的所有方法。
现在你想拥有一个必须拥有自己的方法的Number类:
class Number(list): # <- we declare new class with list as a parent
def method_1(self): # <- declare method, self is keyword for instance of class
print 'for example, ', self[0] # <- do something
现在我们将使用数字:
number=Number((1, 0.44383160070768396), (1, 0.5999405754368163), (1, 0.44564960553183486))
现在number具有Number类,它可以执行列出的所有操作,也可以使用method_1:
number.method_1()
将打印for example, (1, 0.44383160070768396)
尝试阅读有关子类化的内容