On 11/7/20 9:26 PM, Terry Reedy wrote: > On 11/6/2020 5:05 PM, Steve wrote: >> "Right, because the name "datetime" points to the class datetime in the >> module datetime. > > A module containing an object with the same name as the module is a > real pain, a constant mental papercut. I consider datetime.datetime > to be a design mistake*. You are the 2nd person in about a month to > post the same resulting code problem. > > * Either the class should have been 'Datetime', capitalized like > classes in modules other that builtins generally should be, or the > module should have been given a different name. I personally would > always rename the module when imported. > Which says that if you do:
import datetime from datetime import datatime as Datatime you get the class in your module as the more modern capitalized name, and avoid the name conflict. It just says that in your code, to use the class you either need to use Datatime or datetime.datetime -- Richard Damon -- https://mail.python.org/mailman/listinfo/python-list