2014-02-16 3 views
1

номер переменной определяется следующим образом в коде:Как передать заданные значения в качестве объекта?

number=[(1, 0.44383160070768396), (1, 0.5999405754368163), (1, 0.44564960553183486)] 

У меня есть метод, которые принимают объект и сделать какую-то операцию.

foo = FooClass (number) 
foo.method_1() #calling from FooClass 

Как передать числовую переменную как объект в python? Другая проблема: какая разница между данными привязки в переменной или данными привязки как объектом.

Любой простой пример будет очень ценным. Благодарю.

+0

'номер' сам является объектом только. – thefourtheye

+0

Из вашего фрагмента числа - это список и его объект, если вам нужно больше методов или атрибутов, а затем список, то вы можете написать новый класс и сделать этот номер атрибутом. –

ответ

0

number=[(1, 0.44383160070768396), (1, 0.5999405754368163), (1, 0.44564960553183486)] < => number=list((1, 0.44383160070768396), (1, 0.5999405754368163), (1, 0.44564960553183486))

Здесь number является объектом класса list. И у него есть все методы этого класса.

теперь вы хотите иметь класс номер, который должен иметь свои собственные методы:

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, и он может делать все, что список может и также method_1:

number.method_1()

напечатает for example, (1, 0.44383160070768396)

пытается читать о подклассах

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 все это объект, а переменные - это ссылки на эти объекты.

Смежные вопросы