Pythonのcalendarモジュール徹底解説!calendar()・isleap()・曜日定数の使い方
Pythonでは標準ライブラリのcalendarモジュールを使うことで、カレンダーに関するさまざまな操作を簡単に行えます。この記事では、calendarモジュールでよく使われるメソッドや定数を、実行例とともにわかりやすく解説します。
calendar.calendar(year) ― 年間カレンダーを表示する
calendar.calendar(year)は、指定した年の1年分のカレンダーを文字列として返します。以下の例を見てみましょう。
サンプルコード
# calendarモジュールをインポート import calendar # 年を指定 year = 2019 # カレンダーを表示 print(calendar.calendar(year))
実行結果
上記のコードを実行すると、2019年1月から12月までの年間カレンダーがテキスト形式で出力されます。引数にw(列幅)、l(行数)、c(月間の間隔)、m(1行に並べる月数)などのオプションを渡すことで、表示レイアウトを調整することも可能です。
calendar.firstweekday() ― 週の最初の曜日を取得する
calendar.firstweekday()は、現在設定されている「週の最初の曜日」を整数で返します。デフォルトでは月曜日(0)が設定されています。
サンプルコード
# calendarモジュールをインポート import calendar # 週の最初の曜日を取得 print(calendar.firstweekday())
実行結果
0
出力された「0」は月曜日を意味します。calendar.setfirstweekday()を使えば、週の開始曜日を日曜日などに変更することもできます。
calendar.isleap(year) ― うるう年かどうかを判定する
calendar.isleap(year)は、指定した年がうるう年であればTrue、そうでなければFalseを返します。次の例で確認してみましょう。
サンプルコード
# calendarモジュールをインポート
import calendar
# 判定する年を指定
year_one = 2019
year_two = 2020
# うるう年かどうかを判定して表示
print(f'{year_one} is leap year' if calendar.isleap(year_one) else f'{year_one} is not a leap year')
print(f'{year_two} is leap year' if calendar.isleap(year_two) else f'{year_two} is not a leap year')
実行結果
2019 is not a leap year 2020 is leap year
2019年は平年、2020年は4年に一度のうるう年であるため、正しく判定できていることがわかります。なお、うるう年の総数を数えたい場合はcalendar.leapdays(y1, y2)メソッドも便利です。
calendar.WEEK_CONSTANT ― 曜日の定数を取得する
calendarモジュールには、各曜日に対応する定数(WEEK_CONSTANT)が用意されており、曜日を数値として扱う際に活用できます。それぞれの値を見てみましょう。
サンプルコード
# calendarモジュールをインポート
import calendar
# 各曜日の番号を取得して表示
print(f'Monday weekday: {calendar.MONDAY}')
print(f'Tuesday weekday: {calendar.TUESDAY}')
print(f'Wednesday weekday: {calendar.WEDNESDAY}')
print(f'Thursday weekday: {calendar.THURSDAY}')
print(f'Friday weekday: {calendar.FRIDAY}')
print(f'Saturday weekday: {calendar.SATURDAY}')
print(f'Sunday weekday: {calendar.SUNDAY}')
実行結果
Monday weekday: 0 Tuesday weekday: 1 Wednesday weekday: 2 Thursday weekday: 3 Friday weekday: 4 Saturday weekday: 5 Sunday weekday: 6
このように、月曜日が0、日曜日が6として定義されています。これらの定数は、calendar.weekday()やsetfirstweekday()などと組み合わせて使うと便利です。
まとめ
本記事では、Pythonのcalendarモジュールにおける代表的なメソッドとして、年間カレンダーを表示するcalendar()、週の開始曜日を取得するfirstweekday()、うるう年を判定するisleap()、そして曜日を表す定数について学びました。これらを組み合わせることで、日付やカレンダーに関連する処理を効率的に実装できます。ぜひ実際のコードで試してみてください。
-
Pythonのcalendarモジュール徹底解説:monthrange()、prcal()、weekday()の使い方
このチュートリアルでは、Pythonのcalendarモジュールが提供するさまざまなメソッドについて詳しく解説します。それぞれのメソッドを順番に見ていきましょう。 calendar.monthrange(year, month) calendar.monthrange(year, month)は、指定した月の「開始日の曜日番号」と「その月の日数」を返すメソッドです。戻り値はタプル形式で2つの値が格納されます。実際の例を見てみましょう。 サンプルコード # calendarモジュールをインポート import calendar # 年と月を設定 year = 2019 month = 1 # 曜
-
Pythonでカレンダーを作る方法!calendarモジュールの基本と使い方を解説
Pythonには、カレンダーを扱うためのcalendarという標準モジュールが組み込まれています。この記事では、calendarモジュールの基本的な使い方について解説していきます。calendarモジュールでは、1週間は月曜日から始まり日曜日に終わります。また、このモジュールはグレゴリオ暦(西暦)に準拠しています。それでは、calendarモジュールの便利なメソッドをいくつか見ていきましょう。年間カレンダーを取得する特定の年のカレンダー全体を取得したい場合は、calendar.calendar(year)クラスのインスタンスを作成し、それを出力します。以下に具体例を示します。コード例# cal