Python 3.x Python类,该类可以实例化为空并使用方法

Python 3.x Python类,该类可以实例化为空并使用方法,python-3.x,class,methods,Python 3.x,Class,Methods,是否可以创建一个可以像这样实例化的类? 我遇到过这样的情况,我不知道解决办法。 类需要有init和str构造函数 这就是我到目前为止所做的 from movie import Movie def run_tests(): enter code here print("Test empty movie:") default_movie = Movie() print(default_movie) assert default_movie.title =

是否可以创建一个可以像这样实例化的类? 我遇到过这样的情况,我不知道解决办法。 类需要有initstr构造函数

这就是我到目前为止所做的

from movie import Movie


def run_tests():

    enter code here
    print("Test empty movie:")
    default_movie = Movie()
    print(default_movie)
    assert default_movie.title == ""
    assert default_movie.category == ""
    assert default_movie.year == 0
    assert not default_movie.is_watched

    initial_movie = Movie("Thor: Ragnarok", 2017, "Comedy", True)


run_tests()
但是当我运行关于这个类的测试文件时,抛出了一个错误

TypeError:init()缺少4个必需的位置参数: “标题”、“年份”、“类别”和“受关注”

很简单,是的:

class Movie:
    def __init__(self, title, year, category, is_watched):
        self.title = title
        self.year = year
        self.category = category
        self.is_watched = is_watched
    def __str__(self):
        return 'movie=> {} {} {} {} {}'.format(self.name, self.year, self.genre, self.is_watched)

#sw = Movie("SW", 1977, "action", 0);
#print(sw);
我可以建议您学习完整的官方Python教程吗?这将回答您的问题……

非常简单,是的:

class Movie:
    def __init__(self, title, year, category, is_watched):
        self.title = title
        self.year = year
        self.category = category
        self.is_watched = is_watched
    def __str__(self):
        return 'movie=> {} {} {} {} {}'.format(self.name, self.year, self.genre, self.is_watched)

#sw = Movie("SW", 1977, "action", 0);
#print(sw);

我可以建议您学习完整的官方Python教程吗?这将回答您的问题…

可能的XY问题:为什么您需要创建一部没有关于该电影的任何细节的电影?如果有理由创建一部空电影,我会将其作为一个明确的特例,而不是默认操作。定义一个返回
Movie(“,0,”,False)
的类方法。可能的XY问题:为什么您需要创建一个最初没有关于该电影的任何详细信息的电影?如果有理由创建一个空电影,我会作为一个显式的特例,而不是默认操作。定义一个类方法,该类方法返回
电影(“,0,”,False)