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

Reply via email to