The climate in Italy is unique due to it's odd position on the map. Stretching from the north at Mont Blanc in the Alps, past the Dolomites mountain range, and bordered by the Adriatic Sea to the east and the Mediterranean Sea in the south, Italy's large expanse causes the weather to vary considerably. It can be cold in the northern mountainous region and then hot and dry in the hills and plains of the south, with local variations depending on altitude and distance from the sea.
In fact, climate in Italy is unique that many of its regions have their own climate systems. The inland northern areas of Italy like Milan and Bologna have a humid subtropical climate, which means hot, humid summers and cool winters. On the other hand, the coastal areas of Liguria and the peninsula south of Florence generally fit the Mediterranean climate profile, which is characterized by warm to hot, dry summers and mild to cool, wet winters
The country's overall temperate climate is due to the protection by the mountain ranges from the cold winds from the north, although the temperatures in the north can still drop below zero. Towards the center of the country, fog is a constant factor in winter, while the winters tend to be milder in the south.
In the mountains, temperatures drop quickly and winters in the north are much colder with a January average temperature of below 8°C. In the summer, temperatures average 24°C and thunderstorms bring the only summer rain, which evaporates rapidly. Summer is usually the more stable of the seasons, although the northern regions often have thunderstorms in the afternoon and night hours which lead to some rainy days. In other words, the south of a city like Florence in the summer is typically dry and sunny, while it tends to be more humid and cloudy in the north. Spring and fall weather can be very changeable, with sunny and warm weeks suddenly broken off by cold spells or followed by rainy and cloudy weeks.
Basically, if you are heading to Italy, your best bet would be to research the cities or regions that you plan on stopping in, since various climate systems can yield much different weather results.
Here is a list of some of Italy's climate systems and the cities that experience them:
This climate is found in all the coastal areas, excluding the northeastern area, which fits a humid subtropical climate. The winter averages vary from 6°C (42.8°F), in the northern areas, to 11-14°C (51.8-57.2°F) in the southern islands. Snowfalls are rare and usually very light in the north, and almost never happen in the south. Summers are dry and hot.
Main cities: Cagliari, Palermo, Naples, Rome, Genoa, Pescara
Mediterranean Mild Climate
This climate is found inland and at medium and high elevations in southern Italy. It is similar to the usual Mediterranean climate where the summers are dry and the winters are wet, but the temperatures are lower in both seasons, around 3 or 5°C (37.4 or 41°F) in the winter, and between 17 and 21°C (62.6 and 69.8°F) in the summer.
Main cities: Potenza, Prizzi
Humid Subtropical Climate
This climate is found in the Po and Adige's Valleys in the north and goes into central and southern Italy. It's marked by hot and wet summers and mild winters and has high precipitation and no dry season.
Main cities: Milan, Venice, Verona, Turin
This climate can be found only in altitude in the Apennines and in the alpine foothills. Summers are between 17 and 21°C (62.6 and 69.8°F)
Main cities: Aosta, Campobasso, Sondrio, Amatrice
Humid Continental Climate
This climate is found in the Alps, around 13,937 ft in the western side, or around 3,281 ft in the eastern side. It's marked by low winter averages (between -7 and -3°C / 19.4 and 26.6°F) and mild summers, with temperatures averaging from 13 to 18°C (55.4 to 64.4°F). It usually snows from early November until March or early April.
Main cities: Brusson, Mazzin, Santo Stefano di Cadore, Claut
Cold Continental Climate
This climate is common in the Alpine Valley around 5,249-5,906 ft. The winters are very cold and average temperatures are between -12 and -5°C (10.4 and 23°F). The summers are cool, usually around 12°C (53.6°F).
Main cities: Livigno, Misurina, Predoi, Rhêmes-Notre-Dame
This climate is common above the tree line in the Alps. All the months average below 10°C (50°F).
Main cities: Breuil-Cervinia, Sestriere, Trepalle