我可以使用一个import语句代替这四个吗?

时间:2019-01-22 01:42:10

标签: python

from keras.models import Sequential
from keras.layers import Dense
from keras.wrappers.scikit_learn import KerasClassifier
from keras.utils import np_utils

与以下相同:

from keras *

在Java中,我可以执行此快捷方式,它看起来更简洁。我正在学习Python。

2 个答案:

答案 0 :(得分:1)

我相信from keras *的语法无效,但是您可以这样做:

from keras import *

注意:PEP-8建议您避免通配符导入...

  

” ...,因为它们不清楚名称空间中存在哪些名称,   混淆了读者和许多自动化工具。有一个   通配符导入的可辩护的用例,它将重新发布一个   内部接口作为公共API的一部分(例如,覆盖   具有以下定义的接口的纯Python实现   可选的加速器模块以及确切的定义   事先不知道被覆盖的内容。”

但是随后您需要在呼叫之前加上来自其的子模块,例如:

f = layers.Dense(1)

答案 1 :(得分:1)

我想可以,但是请注意,您必须重新输入很多行才能执行所需的操作,并且您的代码可能有点混乱……例如:

import keras
keras.models.sequential()
keras.layers.Dense()
keras.wrappers.scikit_learn (...)

在大代码中,这真是令人迷惑且令人讨厌阅读。我曾经和你有同样的习惯,但是随着时间的流逝,我迷失了它:D