[Tutor] Function question

Sri Kavi gvmcmt at gmail.com
Sat Mar 25 08:04:57 EDT 2017


On Sat, Mar 25, 2017 at 3:31 PM, Peter O'Doherty wrote:

>
> def myFunc(num):
>     for i in range(num):
>         print(i)
>
> print(myFunc(4))
> 0
> 1
> 2
> 3
> None #why None here?
>
> Because there are two print() functions, one inside the function and
another outside.  When a function does not return anything, an implicit
“return None” statement gets added to the end of the function.


The inner myFunc(4) is printing out 0, 1, 2, 3 and it also returns None
which gets printed by the outer print() function.

>
> def myFunc(num):
>     for i in range(num):
>         return i
>
> print(myFunc(4))
> 0 #why just 0?


The return statement causes the loop to stop and the function to exit and
returns 0 to its caller which is the outer print() function.

Hope that helps.

Sri


>
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> To unsubscribe or change subscription options:
> https://mail.python.org/mailman/listinfo/tutor
>


More information about the Tutor mailing list