2016-08-13 11 views
0
def example(function): 
    if input() == "Hello there!": 
     #at this point I want to call the function entered in the tuples 

私が何を意味するかの例:Python関数

def example(function): 
    if input() == "Hello there!": 
     #do the function here 

def Printer(What_to_print): 
    print(What_to_print + "Just an example") 


example(Printer) 

このpossibeであり、これをやってであり欠点されていますか?

+0

別の関数の引数として関数を渡すことを意味しますか?はい、可能であり、かなり一般的です。 – bereal

+0

はい、それは完全に可能です。 – Harrison

+0

'この時点で私は関数'を呼びたいと思う。 –

答えて

0

はい。可能です。

def example(function): 
    if input() == "Hello there!": 
     function("Hello there!") # invoke it! 

実際にはパラメータとしてdef機能やlambda機能を渡し、()構文によってそれらを呼び出すことができます。

+0

これを聞いて申し訳ありません(私は実際にコーディングするのが初めてです)が、あなたはそれを呼び出すことによって何を意味するのかの例を教えてくれますか? –

+0

@AndreasSandberg呼び出すことによって、私は関数を呼び出すことを意味します。あなたの言葉では、関数を_doing_。 –

+0

私は本当に今は本当に愚かな音だが、私は後に何を追加するのか分からない。私がそれを取り除くと、 'example'は私が何もせずに印刷したいものを印刷し、そこにHelloを入力すると!私はちょうど多くのエラーを取得します。 –

0

Pythonでは、関数は、intstrのような他の一般的な型と同様のオブジェクトです。したがって、別の関数を引数として受け取る関数に問題はありません。

>>> def pr(): print ('yay') 

>>> def func(f): f() 

>>> isinstance(pr, object) 
True 
>>> isinstance(int, object) 
True 
>>> func(pr) 
yay 
>>> 
0
def example(function, what_to_print): 
    if raw_input() == "Hello there!": 
     function(what_to_print) 

def printer(what_to_print): 
    print(what_to_print + "Just an example") 

example(printer, "")