Ich benutze Python 2.7.11 unter Debian Linux.Python 2.7.11: Warum funktioniert ein Funktionsaufruf für eine Funktion, aber nicht für eine andere?
Ich habe zwei Funktionen, eine, die genau wie erwartet mit einem normalen Funktionsaufruf funktioniert, und eine andere, die gut genug funktioniert, bis auf die Tatsache, dass ein normaler Funktionsaufruf bei dieser zweiten Funktion nicht funktioniert; Ich muss einen Ausdruck vor die Funktion legen, um es zum Laufen zu bringen.
1) Die erste Funktion, wie bei einem normalen Funktionsaufruf erwartet ausführen:
def print_me(string):
print string
print_me("I am a string")
2) Die zweiten Funktion, die nicht mit einem normalen Funktionsaufruf funktioniert:
def fruit_color(fruit):
fruit = fruit.lower()
if fruit == 'apple':
return 'red'
elif fruit == 'banana':
return 'yellow'
elif fruit == 'pear':
return 'green'
else:
return 'Fruit not recognized'
3) Ein normaler Funktionsaufruf, dh fruit_color ('apple'), funktioniert nicht. Ich muss stattdessen Druck setzen vor der Funktion, um es an die Arbeit:
print fruit_color('apple')
4) Nun habe ich (hoffentlich) erklärt mir kurz und bündig genug, werde ich meine Frage neu formulieren: Warum das ist Funktionsaufruf funktioniert für die Funktion print_me, aber nicht für die Funktion fruit_color?
'print' druckt es,' return' druckt es nicht, daher müssen Sie den Rückgabewert explizit ausdrucken. – poke