2017-05-04 22 views
-1

Ich habe eine KlasseWie listet Objekte in einer Klasse

class movie: 

def __init__(self, title, year, release): 
    self._title = title 
    self._year = year 
    self._release= release 

def getTitle(self): 
    return self._title 
def getYear(self): 
    return self._year 
def getRel(self): 
    return self._release 

def setTitle(self, title): 
    self._title = movie 
def setYear(self, year): 
    self._year = movie 
def setRel(self, release): 
    self._release = movie 


def __str__(self): 
    outputString = "Title:" + str(self._title) + "Year:" + str(self._year) + "Production:" + str(self._release) 
    return outputString 

und ich möchte eine Liste aus dieser

import movie 

mfirst = movie.movie("The Shawshank Redemption", "1994", "Castle Rock Entertainment") 
msecond = movie.movie("The Godfather", "1972", "Paramount Pictures") 

schaffen, ist es eine Möglichkeit, wo ich Titel auflisten, Jahr, und Produktionsstudio getrennt? Ich habe verschiedene Methoden ausprobiert, aber halten so etwas wie dieses [<movie.movie instance at 0x10117ecf8>]

Antwort

-1

Sie haben Getter und Setter Empfang für die Werte bekommen, damit wir das auszunutzen und für jedes Objekt instanziert Sie eine einheitliche Abfrage über alle Objekte anwenden können.

In Ihrem movie.py

class Movie: 

def __init__(self, title, year, release): 
    self._title = title 
    self._year = year 
    self._release= release 

def getTitle(self): 
    return self._title 
def getYear(self): 
    return self._year 
def getRel(self): 
    return self._release 

def setTitle(self, title): 
    self._title = movie 
def setYear(self, year): 
    self._year = movie 
def setRel(self, release): 
    self._release = movie 


def __str__(self): 
    outputString = "Title:" + str(self._title) + "Year:" + str(self._year) + "Production:" + str(self._release) 
    return outputString 

In einer anderen Datei my_movies.py es nennen lassen

from movie import Movie 

first_movie = Movie("The Shawshank Redemption", "1994", "Castle Rock Entertainment") 

second_movie = Movie("The Godfather", "1972", "Paramount Pictures") 

my_movies = [first_movie, second_movie] 

titles = [] 
years = [] 
releases = [] 

for m in my_movies: 
    titles.append(m.getTitle()) 
    years.append(m.getYear()) 
    releases.append(m.getRel()) 

print('\t'.join(titles)) 
print('\t'.join(years)) 
print('\t'.join(releases)) 
+0

Sie so viel Dank. Dies hat dazu beigetragen, Klassen, Setter und Getter viel besser zu verstehen und eine Menge Dinge für mich geklärt. Darf ich fragen, wofür das '\ t' ist? –

+0

Es trennt alle Elemente Ihrer Liste mit Tabs. Froh, dass es hilfreich war, bitte schließen Sie die Frage, indem Sie meine Antwort auswählen;) –

Verwandte Themen