2017-05-04 30 views
-1

對象我有一個類如何列出一個類

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 

,我想創建一個列表出來這個

import movie 

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

的是有沒有辦法在那裏我可以列出標題,今年,和生產工作室分開? 我已經嘗試了不同的方法,但不斷收到這樣的事情[<movie.movie instance at 0x10117ecf8>]

回答

-1

您有得到的值,所以我們可以利用這一點,併爲每一個對象實例化,你可以在所有的物體施加一個統一的查詢getter和setter方法。

在你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 

在另一個文件讓我們把它my_movies.py

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

太謝謝你了。這有助於更好地理解班級,制定者和獲得者,併爲我闡明瞭很多事情。我可以問一下'\ t'的用途是什麼? –

+0

它使用標籤分隔列表中的所有項目。很高興有幫助,請通過選擇我的答案來關閉問題;) –