Skip to content

Commit d52b1de

Browse files
committed
hasParam returns False instead of throwing an error
1 parent 4ee8191 commit d52b1de

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

python/pyspark/ml/param/__init__.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -152,13 +152,17 @@ def isDefined(self, param):
152152
return self.isSet(param) or self.hasDefault(param)
153153

154154
@since("1.4.0")
155-
def hasParam(self, paramName):
155+
def hasParam(self, param):
156156
"""
157-
Tests whether this instance contains a param with a given
158-
(string) name.
157+
Tests whether this instance contains a param.
159158
"""
160-
param = self._resolveParam(paramName)
161-
return param in self.params
159+
if isinstance(param, Param):
160+
return hasattr(self, param.name)
161+
elif isinstance(param, str):
162+
p = getattr(self, param, None)
163+
return p is not None and isinstance(p, Param)
164+
else:
165+
raise TypeError("hasParam(): param must be a string or Param type")
162166

163167
@since("1.4.0")
164168
def getOrDefault(self, param):

0 commit comments

Comments
 (0)