Como usar o módulo de calendário do Python

Python oferece um módulo de calendário integrado que permite manipular o código para dias ou meses específicos do ano. Você pode usá-lo para gerar uma sequência de todos os meses do calendário em um ano, por exemplo.

Veja como começar com a classe de calendário do Python e fazer um calendário DIY com ela.

Como começar com o módulo de calendário

O módulo de calendário é fácil de usar. E como é um módulo Python integrado, você não precisa instalá-lo separadamente.

Para começar, abra seu arquivo Python e importe o módulo de calendário :

 import calendar

Veja os dias da semana

Começando com segunda-feira, o dia de início da semana padrão do módulo, você pode gerar os dias da semana de forma abreviada usando a função weekheader () .

A função weekheader () do módulo, entretanto, aceita um argumento de largura. Este é um número inteiro que especifica o número ou comprimento da string abreviada:

 import calendar
print(calendar.weekheader(2)) # set the abbreviation length to 2
Output: Mo Tu We Th Fr Sa Su

O módulo define o primeiro dia da semana como segunda-feira por padrão. Você pode alterar isso para domingo usando a função setfirstweekday () do módulo de calendário .

Agora tente definir o primeiro dia da semana de volta para domingo. Em seguida, reimprima os cabeçalhos da semana como você fez acima:

 import calendar
# set the first day of the week to Sunday:
calendar.setfirstweekday(calendar.SUNDAY)
print(calendar.weekheader(3)) # set the abbreviation length to 3
Output: Sun Mon Tue Wed Thu Fri Sat

Veja se um ano é um salto ou não

Python permite que você verifique se um ano é um salto ou não quando você invoca a função isleap () da classe calendar .

A função, no entanto, aceita um argumento de ano (2023 como no código a seguir) e retorna uma saída booleana:

 import calendar
print(calendar.isleap(2023))
Output: False

Verifique o número de dias bissextos entre intervalos de anos específicos

Use os dias bissextos () para verificar o número de dias bissextos entre intervalos de anos específicos.

Por exemplo, para verificar o número de dias bissextos entre 2021 e 2030:

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

Relacionado: Como funciona o método Python String format ()?

Verifique o primeiro dia da semana em um mês

O módulo retorna um índice de lista dos dias da semana. Em essência, segunda-feira, o primeiro dia da semana padrão, é equivalente a zero, enquanto terça-feira é um – nessa ordem, até domingo, o último dia da semana, que é o sexto índice.

Você pode confirmar isso imprimindo o primeiro dia da semana padrão usando o método firstweekday () da classe de calendário :

 import calendar
print(calendar.firstweekday())
Output: 0

Usando esse insight, vamos verificar o primeiro dia de setembro de 2020 usando a função weekday () :

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

Seguindo o índice padrão, 2 , aqui significa que o primeiro dia de setembro de 2020 é uma quarta-feira.

Relacionado: Como arrays e listas funcionam em Python

Você também pode verificar o primeiro dia do mês e ver o número de dias desse mês.

Para fazer isso, use monthrange () :

 import calendar
print(calendar.monthrange(2021, 9))
Output: (2, 30)

Produzir um calendário mensal

Para ver o calendário de um mês, use a função month () da classe de calendário. Além do ano e mês de interesse, ele aceita argumentos opcionais de largura ( w ) e comprimento ( l ).

Esses argumentos são opcionais. Portanto, o módulo os define como zero por padrão, mesmo que você não os especifique.

Veja como imprimir o calendário mensal usando o método month () desta classe:

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

Isso se parece com isto:

Produza um ano civil

Por fim, você pode gerar todo o ano civil usando a função de calendário do módulo:

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

Esta é a aparência da saída:

Enquanto w controla a largura e l controla o comprimento entre cada string, c e m especificam o número de linhas e colunas, respectivamente. Sinta-se à vontade para ajustar os valores desses parâmetros para ver o que acontece.

É isso! Você acabou de criar um calendário usando Python. Se estiver curioso, você também pode consultar a documentação do módulo de calendário para aprender mais sobre seus vários métodos e recursos.

Pratique mais com o módulo Python Calendar

Discutimos apenas os conceitos básicos do módulo de calendário neste artigo. Há mais do que o que este artigo poderia cobrir. O módulo, por exemplo, oferece decoradores HTML e CSS e widgets para estilizar seu calendário e apresentá-lo como HTML. Além disso, possui uma documentação abrangente. Portanto, sinta-se à vontade para brincar com ele como quiser. Boa codificação!