Thanks Antoon. I do suppose that it is kind of wrong to say the only way is to 
"reference its [the function's] name" as an argument, however the point I was 
trying to make was that it isn't possible to pass a function that is either not 
in some way previously defined or a reference to something previously defined.

In your example, you still make reference to the existing function `truediv` 
from the `operator` library, even though the `partial` function does create a 
new function.

What I'm aiming for is the ability to, within a function call, pass a suite 
that would be there automatically defined by the compiler/interpreter. Another 
comment did mention lambda functions, which does to some degree provide that 
capability, but is restricted to well, lambda functions (only expressions, not 
statements).

Your example does however suggest the possibilities of a function or expression 
that creates functions. For example, the `function` expression in JavaScript.

```
    //Definition
    function myFoo (str1, str2, foo){
        console.log( foo(str1), foo(str2) );
    }


    //Call
    myFoo ("hello", "world!", function(str){

        str[0] = str[0].toUpper();
        return str;

    });


Output:
Hello World!
```

However it does not seem that there would be any such expression in Python as 
is. In python, this code would be written:


```
    #Definition
    def myFoo (str1, str2, foo):
        print( foo(str1), foo(str2) )


    #Call
    def other_foo(str):
        str = list(str)[0].upper() + str[1:]
        return str

    myFoo ("hello", "world!", other_foo)

```


Here is it rewritten using the proposal:
```
    #Definition
    def myFoo (str1, str2, foo, str = " "):
        print( foo(str = str1), foo(str = str2) )


    #Call
    myFoo ("hello", "world!"):
        str = list(str)[0].upper() + str[1:]
        return str

```

Of course this example presents only a minor, though you can see the difference 
in the call, in which no new function needs be referenced.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to