2010-12-02 14 views
1

Я новичок в python. Я пытаюсь закодировать очень основную функцию, но получаю ошибки. Я не знаю причины этого. Пример кода:Проблема с функцией в python

def printme(str): 
    print str; 
    return; 

printme("My string"); 

Это должно выполняться логически, но это дает мне следующую ошибку:

Traceback (самый последний вызов последним): файлов "стандартного ввода", строка 1, в "модуль"
NameError: название «PrintMe» не определен

Любые предложения приветствуются ...

+2

Вам не нужны в Python с запятой. – Zeke 2010-12-02 01:27:48

+0

Это точная копия и вставка вашего кода? Это дает мне ошибку с отступом по возвращении; – 2010-12-02 01:27:51

ответ

4

с запятой не должно быть там, а также return (выполнение функции заканчивается в последнем заявлении с отступом внутри нее).

Не совсем уверен, как вы отформатированный отступ, но питона полагается на то, чтобы определить прицел

def printme(str): 
    print str #This line is indented, 
       #that shows python it is an instruction in printme 

printme("My string") #This line is not indented. 
        #printme's definition ends before this 

выполняет currectly

страница Википедии на python syntax охватывает правила отступа.

1

попытка сП это:

def printme(str): 
    print str 

printme("My string") 
2

Это могло бы помочь следить за python style guide (pep8). Вам это не обязательно, но это поможет избежать ошибок в отступе, и будет легко читать код других людей.

2

Это не работает из-за ошибки в отступе. Ваша функция никогда не компилируется, поэтому ее не существует.

(Original вопрос был отредактирован прочь для «правильного форматирования»)