首页 > 解决方案 > 如何在一个类中定义一个方法来创建同一个类的对象?

问题描述

我有一个问题。我应该定义一个方法来在我的类中创建一个新对象。我的代码如下:

class Email:
    
    def __init__(self, has_been_read, email_contents, is_spam, from_address):
        # Asserting has_been_read & is_spam variables as booleans
        assert type(has_been_read) == bool and type(is_spam) == bool
        self.has_been_read = has_been_read
        self.email_contents = email_contents
        self.is_spam = is_spam
        self.from_address = from_address
        # Predefining booleans as False
        is_spam = False
        has_been_read = False
  
    def mark_as_read(self):
        # Creating method to change has_been_read boolean to True
        return self.has_been_read == True
    
    def mark_as_spam(self):
        # Creating method to change is_spam to True
        return self.is_spam == True
    
    inbox = []
    
    def add_email(self):

所以我需要做的是创建一个名为的方法add_email,它将接受email_contentsfrom_address创建一个新Email对象,但由于某种原因,我不知道如何定义一个创建对象的方法?任何帮助将不胜感激!

标签: pythonclassoopmethods

解决方案


你可以使用 return 做你想做的事。检查以下代码:

def add_email(self, email_contents, from_address):
    return Email(False, email_contents, False, from_address)

推荐阅读