首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在类中列出对象

如何在类中列出对象
EN

Stack Overflow用户
提问于 2017-05-04 02:50:25
回答 1查看 748关注 0票数 0

我有个课

代码语言:javascript
复制
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

我想用这个创建一个列表

代码语言:javascript
复制
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>]的信息

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-04 03:00:14

您有用于获取值的setter和getter,因此我们可以利用这一点,对于实例化的每个对象,您可以对所有对象应用统一的查询。

在你的movie.py里

代码语言:javascript
复制
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

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43773041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档