On Thu, Dec 10, 2015 at 8:09 PM, Guido van Rossum firstname.lastname@example.org wrote:
The reason that timezone() takes a timedelta is to avoid mistakes in the units.
That was more or less the original reasoning. Note that an early prototype required the offset to be specified in minutes. 
I don't expect people to have to construct timezone objects "by hand". You would normally get tzinfo populated with a local timezone by calling .astimezone() on a UTC instance:
from datetime import * dt = datetime.now(timezone.utc) print(dt.astimezone())