python - Checking if function was called with right arguments -


which coding-style better / correct , why? using assert statement in each function:

def fun_bottom(arg):     assert isinstance(arg, int)     #blah blah  def fun_middle(arg):     assert isinstance(arg, int)     fun_bottom(arg)     #blah blah  def fun_top(arg):     assert isinstance(arg, int)     fun_middle(arg)     #blah blah 

or, because know type of arg checked in fun_bottom function, omit assertions in fun_middle , fun_top? or maybe there's solution?

edit #1
ouch, misunderstood. used assert isinstance(arg, int) example. i'll rewrite question:

which 1 use:

option 1: check if argument fulfil function's requirements in each function:

def fun_bottom(arg):     assert arg > 0     #blah blah  def fun_middle(arg):     assert arg > 0     fun_bottom(arg)     #blah blah  def fun_top(arg):     assert arg > 0     fun_middle(arg)     #blah blah 

option 2: because know argument checked in bottom-most function, make no assertions in middle- , top- functions:

def fun_bottom(arg):     assert arg > 0     #blah blah  def fun_middle(arg):     fun_bottom(arg)     #blah blah  def fun_top(arg):     fun_middle(arg)     #blah blah 

i suggest more pythonic way of doing things me more like:

def fun_fun(some_int): # function takes int/float     try: # not sure if got correct value         return_value = some_int + 4 % 4 # mathz         return return_value # return mathz     except typeerror: # if didn't int/float we'd         return none # can return none or 

see: http://docs.python.org/2/tutorial/errors.html

edit:

maybe want:

def fun_bottom(arg):     if arg > 0:         #blah blah     else:         #foo 

assert isn't supposed used in manor wanting be, have read of: http://wiki.python.org/moin/usingassertionseffectively


Comments

Popular posts from this blog

jquery - How can I dynamically add a browser tab? -

node.js - Getting the socket id,user id pair of a logged in user(s) -

keyboard - C++ GetAsyncKeyState alternative -