我对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