これまで,最初に実行されるプログラムはインデントがない状態で入力していました.もちろんこのままでも良いのですが,ここで定義した Issue クラスを別のプログラムで再利用するようなこともあります. if __name__=='__main__'
を使ってプログラム自体をモジュール化すると,モジュール自体を実行することができ,さらに別のプログラムから呼び出すこともできるようになります.
次のプログラムを実行すると, if
の中がまず実行されるので,すなわち main()
関数が呼び出されることになります.
class Issue:
def __init__(self, subject):
self.subject = subject
self.description = ''
self.priority = 0
self.closed = False
def is_closed(self):
return self.closed
def close(self):
self.closed = True
def main():
issue1 = Issue('件名です')
issue1.description = '問題の詳細です'
issue1.priority = 1
issue1.close()
print('subject :', issue1.subject)
print('description :', issue1.description)
print('priority :',issue1.priority)
print('closed :', issue1.is_closed())
if __name__ == '__main__':
main()
subject : 件名です description : 問題の詳細です priority : 1 closed : True