全てのモジュールとクラスは、一つの役割を提供して責任をもつべきとする原則です。
class UserInfo(object):
"""ユーザ情報を保持する"""
def __init__(self, name, age, phone_number):
self.name = name
self.age = age
self.phone_number = phone_number
def __str__(self):
return "{} {} {}".format(
self.name, self.age, self.phone_number
)
class FileManager(object):
@staticmethod
def write_str_to_file(obj, filename):
with open(filename, mode='w') as fh:
fh.write(str(obj))
def main():
user_info = UserInfo('Taro', 21, '000-000-0000')
print(user_info)
#write to file. インスタンスを作る必要はない。
FileManager.write_str_to_file(user_info, 'temp.txt')
if __name__ == '__main__':
main()