I modularize code for a webapp and I want to know what python makes that a need
to define an argument called self? Here's some code where I'm modularizing a
recaptcha test to a function and the I must add the parameter "self" to the
function is_submitter_human:
----
class A(BaseHandler, blobstore_handlers.BlobstoreUploadHandler):
def is_submitter_human(self):
cResponse = captcha.submit(
self.request.get('recaptcha_challenge_field').encode('utf-8'),
self.request.get('recaptcha_response_field').encode('utf-8'),
CAPTCHA_PRV_KEY,
os.environ['REMOTE_ADDR'])
return cResponse.is_valid
def post(self, view):
logging.debug('starting recaptcha check')
isHuman = self.is_submitter_human()# here I don't pass a parameter
logging.debug('recaptcha check isHuman:' +str(isHuman))
if not isHuman:#failed captcha and can try again
#Reprint the form
--
It seems unlike other programming languages where the number of arguments in
the call are the same as the number of arguments in the function head and
python requires me to add one parameter to the function head and I wonder if
you call tell me something about the background why?
What's the story of using these parameters that are called "self"?
Thank you
--
http://mail.python.org/mailman/listinfo/python-list