2013-04-18 4 views
4

Existe-t-il un moyen en Python pour chatter une chaîne et une fonction?Python Concaténer la chaîne et la fonction

Par exemple

def myFunction(): 
    a=(str(local_time[0])) 
    return a 

b="MyFunction"+myFunction 

je reçois une erreur que je ne peux pas concaténer un « str » et objet « fonction ».

+1

Voulez-vous utiliser la valeur de retour * de 'myFunction()' ici? –

+1

Si vous essayez d'utiliser simplement le nom, vous pouvez utiliser '__name__' avec myFunction, puis les concaténer. (http://stackoverflow.com/a/255297/758446) – BlackVegetable

Répondre

3

Vous devez appeler votre fonction pour qu'elle retourne réellement la valeur que vous recherchez:

b="MyFunction"+myFunction() 
+0

Lorsque je fais cela, j'obtiens l'erreur que je ne peux pas concaténer un objet 'str' et 'fonction'. – user2295959

+0

@ user2295959, cela a fonctionné pour moi ... Avez-vous remarqué la parenthèse? – mjgpy3

14

Il y a deux possibilités:

Si vous êtes à la recherche de la valeur de retour de myfunction, puis :

print 'function: ' + myfunction() 

Si vous recherchez le nom de myfunction alors:

print 'function: ' + myfunction.__name__ 
+0

Je veux cll la fonction comme b = "MyFunction" + myFunction(), désolé, j'ai raté le() ci-dessus. Je suis habitué au C++. Je veux lancer la fonction dans la déclaration déclarant b, est-ce possible? Je peux le faire si je lance myFunction() en dehors de la déclaration de b mais je veux le faire pendant cette déclaration, est-ce possible en python? – user2295959

+0

L'appel de la fonction renvoie une chaîne. Voir le code ici: http://ideone.com/UCUMgO. –

Questions connexes