0
What's actually happening here?
def square(x): return x*c; def test(func, x): print(func(x)); test(square, 42) 1.This is the procedure given in the problem...I understand that the x has been given the value of "x*x", but is it true that the function "square"has really been passed as an argument to function"tets"? 2.And...what is the"func" in the function"test"? If it's an argument...what about"print(func(x))", which makes it seems like another appointes function??? Really wondering....Thxxxx a lot
4 odpowiedzi
+ 1
Yes, the function square has been passed as an argument to test().
If you want an example of standard function that takes a function as parameter, see map.
http://book.pythontips.com/en/latest/map_filter.html
By the way, square should return x*x, not x*c (no c here):
def square(x):
return x*x;
+ 1
No, not a reserved word. Any other identifier would have been okay, as for any other parameter. You don't need to do anything special to pass a function as parameter.
+ 1
I believe that this will essentially cube x. In other words: 42*42=square and 42*42*x(42)=test
0
Thx Zen...so "func" is the reserved word for "function" in Python right???
[That x*c is simply a slip...]