csdn_black 2018-03-09 02:40 采纳率: 50%
浏览 5114
已结题

python import 和from import 区别

上网查了一下,貌似是一个简单问题,网上都是这么说的,我之前也是这么理解的:

假设有一个包名字叫 numpy, 里面有一个函数 zeros

1、 from numpy import zeros
那么你可以直接调用 zeros()函数

2、import numpy.zeros
那么你只能使用全名 numpy.zeros

但今天遇到了问题了。

from sklearn import datasets

a=datasets.load_digits()
print(a)

这个代码没问题
但是下面这个代码居然提示错误

import sklearn

a=sklearn.datasets.load_digits()
print(a)

提示错误是:AttributeError: module 'sklearn' has no attribute 'datasets'

什么鬼,看不懂,不是说import sklearn 后应该可以通过点.来访问sklearn里的所有内容吗,就像numpy中那样。初学者,不懂,求大神解释下,不胜感激!!

这样也报错

import sklearn.datasets
a=datasets.load_digits()
print(a)

NameError: name 'datasets' is not defined

  • 写回答

9条回答 默认 最新

  • qq_38651686 2018-03-09 03:03
    关注

    module和package是不一样的,sklearn是package,一般导入是采用‘from sklearn import xxx',module是采用import module,这是因为package是单个或多个module组合而成,所以如果直接采用import package,终端会混乱导致error

    评论

报告相同问题?