The python version of QgsPoint takes just two floating point parameters, unlike the C++ equivalent. The QGIS API docs for QgsPoint gives this example:
pt_z = QgsPoint(120, 343, 77)
pt.exportToWkt() # PointZ(120 343 77)
Here is an excerpt from the error message in a python script
point = QgsPoint( wp.longitude, wp.latitude, 0.0 )
TypeError: arguments did not match any overloaded call:
QgsPoint(): too many arguments
QgsPoint(QgsPoint): argument 1 has unexpected type 'float'
QgsPoint(float, float): too many arguments
The call works fine without the third parameter.
How do I add 3D points from a python script?