Py学习  »  Python

从python中的.txt文件读取类对象[关闭]

Andrew • 5 年前 • 1832 次点击  

我对python还比较陌生,还想学习这门语言。在过去的一天里,我一直试图找出解决这个问题的代码,我知道它可能会相对简单。

我要做的是读取一个文本文件,其中包含以下格式的数据,遍历数据并为其创建一个类对象。谢谢您!

class Profile:

    def __init__(self, given_name='', family_name='', email='', gender='', status=''):
        self.__given_name = given_name
        self.__family_name = family_name
        self.__email = email
        self.__gender = gender
        self.__status = status
        self.__number_friends = 0
        self.__friends_list = []


    def set_given_name(self, name):
        self.__given_name = name

    def get_given_name(self):
        return self.__given_name

    def set_family_name(self, name):
        self.__family_name = name

    def get_family_name(self):
        return self.__family_name

    def set_email(self, email):
        self.__email = email

    def get_email(self):
        return self.__email

    def set_gender(self, gender):
        self.__gender = gender

    def get_gender(self):
        return self.__gender

    def set_status(self, status):
        self.__status = status

    def get_status(self):
        return self.__status

    def set_number_friends(self, no_friends):
        self.__number_friends = no_friends

    def get_number_friends(self):
        return self.__number_friends

    def set_friends_list(self, friends_list):
        self.set_number_friends(len(friends_list))
        self.__friends_list = friends_list

    def get_friends_list(self):
        return self.__friends_list

    def __str__(self):
        string = self.__given_name + ' ' + self.__family_name + ' ' + self.__email + ' ' + self.__gender + '\n'
        string += self.__status + '\n'
        string += str(self.__number_friends) + '\n'
        for friend_email in self.get_friends_list():
            string += friend_email + '\n'
        return string


    def add_friend(self, email):

        if self.is_friend(email) == True:
            return False;

        self.__friends_list.append(email)
        self.__number_friends += 1

        return True

    def remove_friend(self, email):

        if self.is_friend(email) == False:
            return False;

        self.__friends_list.remove(email)
        self.__number_friends -= 1

        return True



    def is_friend(self, email):        
        found = False

        for email_address in self.__friends_list:
            if email == email_address:
                found = True

        return found


    def __eq__(self, email):
        if self.__email == email:
            return True
        elif self.__email != email:
            return False
        return NotImplemented
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/47529
 
1832 次点击  
文章 [ 3 ]  |  最新文章 5 年前