2017-05-04 21 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

它使用标签分隔列表中的所有项目。很高兴有帮助,请通过选择我的答案来关闭问题;) –