Python
 Computer >> コンピューター >  >> プログラミング >> Python

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()、そして曜日を表す定数について学びました。これらを組み合わせることで、日付やカレンダーに関連する処理を効率的に実装できます。ぜひ実際のコードで試してみてください。

  1. Pythonのcalendarモジュール徹底解説:monthrange()、prcal()、weekday()の使い方

    このチュートリアルでは、Pythonのcalendarモジュールが提供するさまざまなメソッドについて詳しく解説します。それぞれのメソッドを順番に見ていきましょう。 calendar.monthrange(year, month) calendar.monthrange(year, month)は、指定した月の「開始日の曜日番号」と「その月の日数」を返すメソッドです。戻り値はタプル形式で2つの値が格納されます。実際の例を見てみましょう。 サンプルコード # calendarモジュールをインポート import calendar # 年と月を設定 year = 2019 month = 1 # 曜

  2. Pythonでカレンダーを作る方法!calendarモジュールの基本と使い方を解説

    Pythonには、カレンダーを扱うためのcalendarという標準モジュールが組み込まれています。この記事では、calendarモジュールの基本的な使い方について解説していきます。calendarモジュールでは、1週間は月曜日から始まり日曜日に終わります。また、このモジュールはグレゴリオ暦(西暦)に準拠しています。それでは、calendarモジュールの便利なメソッドをいくつか見ていきましょう。年間カレンダーを取得する特定の年のカレンダー全体を取得したい場合は、calendar.calendar(year)クラスのインスタンスを作成し、それを出力します。以下に具体例を示します。コード例# cal