关于导入模块的问题
来源:3-12 数据加载和简单的数据探索

Heartlaughter
2019-07-11
导入iris这种数据集我们都是这样导入的
from sklearn import datasets
iris = datasets.load_iris()
但是我去观察了一下sklearn这个文件夹的结构,发现sklearn这个folder下,有datasets这个folder,我们导入的是datasets这整个模块,而load_iris()这个方法在datasets/base.py中
我去实验了一下发现,from sklearn.datasets import base
然后base.load_iris()也是可以导入数据的
但是,我又做了另一个实验,我模仿sklearn这个文件夹的结构,创建了如下结构E:\pythonSrc\MachineLearing\Chap5-LinearRegression\SimpleLinearRegression\playML
我在SimpleLinearRegression这个文件夹下创建了一个notebook,playML文件夹下有老师写的SimpleLinearRegression.py这个文件,我自己写了一个mytest.py文件,里面只有一个返回hello字符串的hello()函数
然后在note里面写
from SimpleLinearRegression import playML
问题就是:playML.hello()为什么就不奏效呢
sklearn的结构是sklearn\datasets\base.py(base.py里面有load_iris()等函数)
而我的结构是:SimpleLinearRegression\playML\mytest.py(mytest.py里面有hello()函数)
恳请老师指教
1回答
-
根据你的描述,你应该写:
playML.mytest.hello()
其实这个课程的所有代码,都是创建了一个模块(playML)
然后Jupyter Notebook在模块外面调用模块内的函数或者类。
可以仔细研究一下课程代码的文件结构和具体的调用方式。
本课程的所有代码都可以通过慕课网内部的github获得。传送门:https://git.imooc.com/coding-169/coding-169
从下一章第三小节的代码,就可以清晰地看到这个结构了:)https://git.imooc.com/coding-169/coding-169/src/master/04-kNN/03-Test-Our-Algorithm
继续加油!:)
032019-07-11
相似问题