ماژول تقویم در پایتون — راهنمای کامل و کاربردی + نمونه کد

۲۵۶۱ بازدید
آخرین به‌روزرسانی: ۲۱ دی ۱۴۰۱
زمان مطالعه: ۴ دقیقه
ماژول تقویم در پایتون — راهنمای کامل و کاربردی + نمونه کد

چنانچه قصد دارید یک پلنر شخصی برای خود ایجاد کنید یا تمرین کدنویسی در طی روز داشته باشید، ماژول تقویم در پایتون یکی از بهترین گزینه‌ها است. زبان Python، «ماژولی توکار» (Built-in Module) برای تقویم ارائه می‌کند که با استفاده از آن می‌توان در روزها یا ماه‌های خاصی از سال کدهای پروژه را ویرایش کرد، یا به عنوان مثال می‌توان از ماژول تقویم پایتون برای ایجاد رشته‌ای از تمام ماه‌های تقویم یک سال استفاده کرد. این ماژول در مقایسه با سایر ماژول‌های مربوط به تاریخ در زبان پایتون جامع‌تر بوده و امکانات بیشتری را در اختیار کاربر قرار می‌دهد. در ادامه به توضیح کلاس تقویم در پایتون، نحوه استفاده از آن در پایتون و ایجاد یک تقویم پرداخته شده است.

ماژول تقویم در پایتون چیست؟

زبان برنامه نویسی پایتون دارای ماژولی توکار به نام Calendar‌ است. این ماژول شامل کلاس‌ها و توابع مفید و کاربردی می‌شود که با استفاده از آن‌ها می‌توان کارهای مختلفی درباره تقویم در پایتون انجام داد. این ماژول در مقایسه با ماژول‌های دیگر پایتون، نظیر ماژول Time و ماژول Datetime توابعی پیشرفته‌تر و اساسی‌تر برای نمایش و ویرایش تقویم ارائه می‌دهد. ماژول Time و ماژول Datetime تنها توابعی سطح پایین برای عملیات مربوط به تقویم در اختیار برنامه نویس قرار می‌دهند.

ماژول تقویم در پایتون چیست

یکی از قابلیت‌های مهم ماژول تقویم در پایتون این است که با استفاده از آن می‌توان براساس تاریخ، ماه و سال، محاسباتی را برای پروژه‌های مختلف انجام داد. همچنین، ماژول Calendar این قابلیت را فراهم می‌کند تا بتوان تقویم را با حالت‌های مختلف تنظیم کرد و روز شروع هر ماه را تغییر داد.

علاوه‌ بر این، با استفاده از تقویم در پایتون می‌توان تقویمی را در قالب فایل‌های مختلف نظیر HTML به نمایش درآورد یا فهرستی از روزهای خاص را در یک سال مشخص، استخراج کرد. تقویم پایتون به طور پیش‌فرض تقویم میلادی را نشان می‌دهد که اولین روز هفته در این تقویم، روز دوشنبه و آخرین روز هفته، روز یکشنبه است. با این حال، با استفاده از کلاس‌های مختلف ماژول تقویم پایتون می‌توان حالت‌های پیش‌فرض آن را مطابق نیاز خود تغییر داد. در بخش بعدی این مقاله، به توضیح برخی از امکانات ماژول Calendar پرداخته شده است.

کار با ماژول تقویم در پایتون

استفاده از ماژول تقویم پایتون آسان است زیرا این ماژول، ماژولی توکار محسوب می‌شود و نیازی نیست آن را به‌ صورت جداگانه نصب کرد. برای شروع کار، پس از ایجاد یک فایل پایتون، می‌توان ماژول Calendar را به‌ صورت زیر فراخوانی کرد:

1import calendar

مشاهده روزهای هفته با ماژول تقویم در پایتون

چنانچه فرض کنیم روزهای هفته از روز دوشنبه شروع می‌شود، با استفاده از تابع weakheader() می‌توان روزهای هفته را به صورت اختصاری در خروجی مشاهده کرد. تابع weakheader() پارامتری در ورودی می‌پذیرد که تعداد حروف به کار رفته برای اختصاری کردن اسامی روزهای هفته را مشخص می‌کند:

1import calendar
2print(calendar.weekheader(2)) # set the abbreviation length to 2 

در مثال بالا، مقدار آرگومان اختصارساز برابر با 2 است که در خروجی این تابع، می‌توان اسامی هفته را به‌صورت اختصاری با دو حرف مشاهده کرد:

Mo Tu We Th Fr Sa Su

ماژول تقویم پایتون به‌صورت پیش‌فرض دوشنبه را به عنوان اولین روز هفته در نظر‌ می‌گیرد. می‌توان با استفاده از تابع‎ setfirstweekday()‎  مقدار پیش‌فرض ماژول را به روزهای دیگر تغییر داد.

معرفی فیلم های آموزش پایتون

فیلم های آموزش پایتون فرادرس

همه افرادی که مشغول یادگیری برنامه نویسی پایتون هستند از مجموعه فیلم‌های آموزشی پایتون در سایت فرادرس می‌توانند استفاده کنند. این پلتفرم شامل دوره‌های آموزشی مقدماتی تا دوره‌های پیشرفته زبان پایتون است. علاقمندان به یادگیری این زبان می‌توانند از دوره‌های جامع پایتون در راستای تقویت مهارت برنامه نویسی خود استفاده کنند و از آموزش‌های پروژه محور فرادرس بهره گیرند. در تصویر فوق تنها برخی از دوره‌های آموزشی مجموعه آموزش پایتون فرادرس ملاحظه می‌شوند.

سال کبیسه در ماژول تقویم پایتون

با استفاده از تابع isleap()‎  می‌توان بررسی کرد که آیا سال مورد نظر ما کبیسه است یاخیر. این تابع پارامتری را به عنوان ورودی دریافت کرده که سال را مشخص می‌کند و در خروجی مقداری بولی (‌True/False) برمی‌گرداند. در مثال زیر آرگومان ورودی، سال 2023 است:‌

1import calendar
2print(calendar.isleap(2023))

خروجی تابع بالا به صورت زیر است که نشان می‌دهد سال 2023 سال کبیسه نیست:

False

 شمارش روزهای کبیسه بین سال‌های تعیین‌شده

از تابع leapdays()‎  می‌توان به‌منظور شمارش تعداد روزهای کبیسه بین دو بازه زمانی استفاده کرد. روز کبیسه، روزی است که تعداد روزهای سال را به 366 روز تبدیل می‌کند.

1import calendar
2checkleap = calendar.leapdays(2022, 2030)
3print("There are {} leap days between 2022 and 2030".format(checkleap))

در مثال بالا، تعداد روزهای کبیسه بین سال‌های 2021 تا 2030، 2 روز است:

There are 2 leap days between 2022 and 2030

بررسی اولین روز هفته در ماه با استفاده از ماژول تقویم

با استفاده از ماژول تقویم می‌توان به لیستی از روزهای هفته به همراه اندیس آن‌ها دسترسی داشت. به‌صورت پیشفرض، روز دوشنبه اولین روز هفته در نظر گرفته‌ شده که اندیس آن برابر با عدد صفر است. به همین ترتیب، اندیس روز سه‌شنبه، برابر با یک و اندیس روز یکشنبه برابر با شش است. به‌ منظور مشاهده اندیس‌های روزهای هفته از تابع firstweekday()‎  استفاده می‌شود:

1import calendar
2print(calendar.firstweekday())

خروجی مثال بالا به صورت زیر است:

0

با استفاده از تابع weekday()  می‌توان تاریخ را به روز هفته تبدیل کرد. تابع weekday()  سال، ماه و عدد روز را به عنوان پارامتر ورودی دریافت می‌کند و در خروجی اندیس روز هفته را برمی‌گرداند:

1import calendar
2print(calendar.weekday(2021, 9, 1)) # This accepts a year, a month, and a date argument 

خروجی تابع بالا، عدد 2 است که این یعنی اولین روز از ماه سپتامبر سال 2021، روز چهارشنبه است:

2

با استفاده از تابع monthrange()  نیز می‌توان اولین روز ماه و تعداد کل روزهای ماه را مشاهده کرد:

1import calendar
2print(calendar.monthrange(2021, 9))

خروجی مثال بالا، عدد 2 و 30 است که عدد 2 نشان می‌دهد اولین روز ماه سپتامبر سال 2021، روز چهارشنبه بوده و تعداد روزهای این ماه، 30 روز است.

مشاهده روزهای ماه در خروجی

برای مشاهده روزهای یک ماه، از تابع month()  کلاس تقویم استفاده می‌شود. این تابع علاوه بر سال و ماه، دو پارامتر اختیاری را برای میزان عرض (w) و ارتفاع (l) به عنوان ورودی می‌گیرد. این دو پارامتر، فاصله عرضی و ارتفاعی بین رشته‌ها را در خروجی مشخص می‌کنند و مقدار پیش‌فرض آن‌ها برابر با صفر است:

1import calendar
2print(calendar.month(theyear = 2021, themonth = 9, w = 4, l = 2))

خروجی دستور بالا به صورت زیر است:

مشاهده روزهای ماه در تقویم پایتون

همچنین، با استفاده از تابع calendar()  می‌توان تقویم کامل را در خروجی مشاهده کرد. پارامترهای (c) و (m) در این تابع تعداد سطر و ستون‌های خروجی را مشخص می‌کنند. می‌توان با تغییر مقدار آرگومان‌های این تابع‌‌، نحوه نمایش تقویم را در خروجی تغییر داد.

1import calendar
2print(calendar.calendar(2022, w=2, l=1, c=2, m=6))

خروجی دستور بالا به صورت زیر است:

برای مشاهده تصویر در اندازه بزرگ‌تر، <a href="https://blog.faradars.org/wp-content/uploads/2022/05/Yearly-calendar-output.jpg">اینجا کلیک کنید</a>.

جمع‌بندی

در مقاله حاضر با عنوان «ماژول تقویم در پایتون» به توضیح مفاهیم ابتدایی ماژول تقویم در پایتون پرداخته شد و برخی از توابع این ماژول و نحوه استفاده از آن‌ها شرح داده شدند. ماژول تقویم پایتون علاوه بر دستورات ذکر شده در مقاله حاضر، امکانات دیگری را نیز در اختیار کاربران قرار می‌دهد. به عنوان مثال، با استفاده از این ماژول می‌توان از ابزارهای CSS و HTML جهت تغییر ظاهر تقویم و ارائه آن در قالب فایل HTML استفاده کرد. این ماژول، فایل راهنمای جامعی دارد که با استفاده از آن می‌توان با امکانات مختلف ماژول تقویم در پایتون آشنا شد.

بر اساس رای ۱۷ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
makeuseof
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *