Python的import xx和from xx import *

看上去两者是一样的。但是是有区别的。区别是前者所有导入的东西使用时需加上模块名的限定,而后者不要。
比如今天困扰我的一个简单问题,
import User
usermapper = mapper(User,users_table)


报错sqlalchemy.exc.ArgumentError: Argument 'class_' is expected to be of type '<type 'type'>', got '<type 'module'>'
或报错TypeError: 'module' object is not callable

from User import *
usermapper = mapper(User,users_table)


正常通过。或者
import User
usermapper = mapper(User.User,users_table)

正常通过

你可能感兴趣的:(python)