Почему я не могу запустить свои коды в Python Shell?

def thisisfun(x,y,z):
    x=2
    y=3
    z=4 
    print('AHHHHA')
thisisfun(333,"annoy",2142125)

Если это с последней строкой, то после того, как я нажал на Execute Current File это на самом деле печатает AHHHHAНо когда я попытался включить thisisfun(333,"annoy",2142125) в Python Shell (без последней строки), он говорит name 'thisisfun' is not definedЯ не знаю, что случилось с моим WingIDE...:(Помогите..

2 ответа

Решение

Execute Current File запускает этот файл за пределами отладчика, пока он не завершится. Это происходит не в контексте среды выполнения Python Shell, а в отдельном процессе. Если вы хотите поработать с этим в Python Shell, используйте Evaluate File в Python Shell в меню Source. После этого thisfun определяется в среде оболочки Python до тех пор, пока вы не перезапустите его из меню "Параметры".

Вам нужна пустая строка после определения вашей функции, иначе парсер запутается:

def thisisfun(x,y,z):
    x=2
    y=3
    z=4 
    print('AHHHHA')

thisisfun(333,"annoy",2142125)

Это дает понять, что вызов функции не является частью самой функции.

Другие вопросы по тегам