Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将实际数据输入到类中_Python_Class - Fatal编程技术网

Python 如何将实际数据输入到类中

Python 如何将实际数据输入到类中,python,class,Python,Class,好的,我创建了一个模块,并将其导入到我的主程序中。我想我仍在努力理解类,我不知道如何将数据输入到我的类中。这是在Python3中实现的。以下是模块: class Movie: def __init__(self, Title = '', Ratings = []): self.Movie = Title self.Ratings = Ratings self.TotalRatings = 0 self.minusFive =

好的,我创建了一个模块,并将其导入到我的主程序中。我想我仍在努力理解类,我不知道如何将数据输入到我的类中。这是在Python3中实现的。以下是模块:

class Movie:
    def __init__(self, Title = '', Ratings = []):
        self.Movie = Title
        self.Ratings = Ratings
        self.TotalRatings = 0
        self.minusFive = 0
        self.minusThree = 0 
        self.one = 0
        self.three = 0
        self.five = 0
        self.ValidRatings = [-5,-3,1,3,5]

    def __str__(self):
        return '{0} has {1} total ratings with an average rating of {3}.'.format(self.title, self.totalRatings, self.AvgRating)
    def __repr__(self):
        return self.__str__()
    def AddRating(self, rating):
        for num in self.Ratings:
            if num in self.ValidRatings:
                self.totalRatings += 1 
            else:
                continue
    def AvgRating(self):
        return sum (self.totalRatings)/len(self.totalRatings)
以下是我主要课程的开始:

import Movie

def ReadFile(FileName):
    F = open(FileName)
    return F.readlines()

File = ReadFile('Ratings.txt') 
File2 = open('Prog5Titles.txt').read()       #open movie titles file

movie1 = Movie("The Avengers", [5,5,5])     #this is just a sample to help me understand

当我运行此命令时,会收到错误消息:“module”对象不可调用。有人能帮我理解如何正确地将数据输入到这个文件中吗?

问题是您有一个文件Movie.py,其中碰巧包含一个名为Movie的类。如果您只是导入电影,那么python名称电影将引用文件Movie.py的内容,要引用隐藏在其中的类,您需要编写:

 movie1 = Movie.Movie("The Avengers", [5,5,5])
或者,您可以按如下方式进行导入:

from Movie import Movie
现在python名称Movie引用了一些不同的东西——文件Movie.py中名为Movie的“thing”(在本例中是一个类)


如果将包含
class Movie
的文件命名为与文件中定义的类不同的名称,则会更清楚一些。也许是电影之类的东西。考虑在项目中有附加类(演员,工作室),这些类可能会在与类电影相同的文件中定义。

< P>问题是,你有一个文件MeVIE.Py,它包含一个名为巧合的电影。如果您只是导入电影,那么python名称电影将引用文件Movie.py的内容,要引用隐藏在其中的类,您需要编写:

 movie1 = Movie.Movie("The Avengers", [5,5,5])
或者,您可以按如下方式进行导入:

from Movie import Movie
现在python名称Movie引用了一些不同的东西——文件Movie.py中名为Movie的“thing”(在本例中是一个类)


如果将包含
class Movie
的文件命名为与文件中定义的类不同的名称,则会更清楚一些。也许是电影之类的东西。考虑在项目中有附加的类(演员,工作室),这些类可能会被定义在与类电影相同的文件中。

旁边:行>代码> DEF-Y-IITTY(自我,标题='',收视率=]):可能不符合你的想法。每次调用
\uuuu init\uuuuu
而不传递一个值时,它都会生成一个新的空
评级
列表,而不是在定义函数时生成一个。请阅读可变默认参数的工作原理。旁白:行
def\uuuu init\uuuuuu(self,Title='',Ratings=[]):
可能与您认为的不一样。每次调用
\uuuu init\uuuuu
而不传递一个值时,它都会生成一个新的空
评级
列表,而不是在定义函数时生成一个。请阅读可变默认参数是如何工作的。好吧,我已经弄明白了,但现在我仍然不知道该如何处理这个问题。如果有人想访问我的新问题并帮助我解决问题,这里有一个链接……好吧,我已经弄明白了,但现在我仍然不知道如何解决这个问题。如果有人想访问我的新问题并帮助我,这里有一个链接。。。