2013-04-18 3 views
4

Есть ли способ в Python, чтобы cat строка и функция?Строка и функция конкатенации Python

Например

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

b="MyFunction"+myFunction 

Я получаю сообщение об ошибке, что я не могу конкатенировать с «ул» и «функция» объект.

+1

Вы хотите использовать * возвращаемое значение * myFunction() 'здесь? –

+1

Если вы пытаетесь просто использовать имя, вы можете использовать '__name__' с myFunction и затем объединить их. (http://stackoverflow.com/a/255297/758446) – BlackVegetable

ответ

3

Вы должны вызвать вашу функцию так, что она на самом деле возвращает значение, которое вы ищете:

b="MyFunction"+myFunction() 
+0

Когда я это делаю, я делаю ошибку, чтобы не конкатенировать объект 'str' и 'function'. – user2295959

+0

@ user2295959, это сработало для меня ... Вы заметили скобки? – mjgpy3

14

Есть две возможности:

Если вы ищете возвращаемое значение myfunction, то :

print 'function: ' + myfunction() 

Если вы ищете имя myfunction затем:

print 'function: ' + myfunction.__name__ 
+0

Я хочу cll функцию как b = "MyFunction" + myFunction(), извините, я пропустил() выше. Я привык к C++. Я хочу запустить функцию в объявлении b, возможно ли это? Я могу сделать это, если я запустил myFunction() вне объявления b, но я хочу сделать это во время этого объявления, возможно ли это в python? – user2295959

+0

Вызов функции возвращает строку. Смотрите код здесь: http://ideone.com/UCUMgO. –

Смежные вопросы