[Tutor] What's the difference between calling a method with parenthesis vs. without it?
C W
tmrsg11 at gmail.com
Sun Jun 17 14:02:07 EDT 2018
Dear Python experts,
I never figured out when to call a method with parenthesis, when is it not?
It seems inconsistent.
For example,
If I do
> data.isnull()
numberair_pressure_9amair_temp_9amavg_wind_direction_9amavg_wind_speed_9am
max_wind_direction_9ammax_wind_speed_9amrain_accumulation_9am
rain_duration_9amrelative_humidity_9amrelative_humidity_3pm
0 False False False False False False False False False False False
1 False False False False False False False False False False False
2 False False False False False False False False False False False
Or I can do without parenthesis,
> data.isnull
<bound method DataFrame.isnull of number air_pressure_9am
air_temp_9am avg_wind_direction_9am \
0 0 918.060000 74.822000 271.100000
1 1 917.347688 71.403843 101.935179
2 2 923.040000 60.638000 51.000000
Obviously, the second case does not make any senses. But, in data.columns,
it is only correct to do without parenthesis as below:
> data.columns
Index(['number', 'air_pressure_9am', 'air_temp_9am', 'avg_wind_direction_9am',
'avg_wind_speed_9am', 'max_wind_direction_9am', 'max_wind_speed_9am',
'rain_accumulation_9am', 'rain_duration_9am', 'relative_humidity_9am',
'relative_humidity_3pm'],
dtype='object')
# with parenthesis throws an error
> data.columns()
---------------------------------------------------------------------------TypeError
Traceback (most recent call
last)<ipython-input-16-05cf52d0a56e> in <module>()----> 1
data.columns()
TypeError: 'Index' object is not callable
I always thought columns(), isnull() are methods to objects, so, you would
need to pass parameters even when it's empty. But, apparently I am wrong on
this.
What is going on?
Thank you very much!
More information about the Tutor
mailing list