Я могу объявлять функцию с def внутри if в Пайтоне?

Возможно помещать один def внутри одного if?.

Пример

eligio = raw_input("""
1)otro
2)otro
3)otro
Selecciona :><: """)

if eligio =="1":
    def html(link):

Ясно после этого def за ним следует больше код, но в момент помещения этого под этим if, код не действует.

Перед тем, как задавать этот вопрос проверьте в google на этом и ничем, я увидел, это был ли кодом тот, который были плохие или плохие незубья и ничто.

Только я хочу узнать это, или если есть какой-то другой способ заставлять приводить в действие рукописный шрифт, который он содержит def.

3
задан 22.01.2017, 06:30
0 ответов

Приветствие!

Хотя sintacticamente хорошо будет виден, что функция высказалась и инициализировала внутри if, в Пайтоне Сайе возможно делать это:

Здесь твой код:

eligio = raw_input("""
1) Opcion 1
2) Opcion 2
3) Opcion 3
Selecciona :><: """)

if eligio =="1":
    def html(link):
        print "Hola mundo"

    html(1)  # Realizamos el llamado a la funcion para que ejecute

Результат:

 1) Opcion 1                                                                                                                                                          
 2) Opcion 2                                                                                                                                                          
 3) Opcion 3                                                                                                                                                          
 Selecciona :><: 1                                                                                                                                                    
Hola mundo 

Заметь: Очевидно, ты должен звонить в твою функцию, для того, чтобы эта работала, а, эта не прокрутит изображение в окне

2
ответ дан 03.12.2019, 17:35
  • 1
    Спасибо, когда я реализую названный рукописный шрифт, который он интегрирует там, работайте плохо (except, который я считал помещенным, если есть ошибка), и когда я выполняю 2 или 3, мне встречает ошибка, которой html он не определен –  22.01.2017, 05:37
  • 2
    @Snoop13 пример Ивана правилен, если он дает тебе ошибку, ты мог бы достигать má s informació n, чтобы мочь помогать тебе. Если ты выбираешь 2 или 3, логически funció n html только существует, если входят в условного , если его избрано 2 или 3 не входят в if, не работает этот có я говорю, из-за которого funció n не está определенная. Не sé что у тебя есть мотив, чтобы определять funcí on aquí но обычно он создает одинокое confusió n если только это не была локальная функция, которая только была бы использована внутри самого условного, он не имеет много чувства. –  22.01.2017, 17:31
  • 3
    Я понимаю, ввиду того, что код представляет ошибки, я увижу, как звонить в рукописный шрифт, задам другой вопрос, чтобы не делать путаницу –  22.01.2017, 18:36
  • 4
    @FJSevilla Уже позвоните в функцию def и ошибка, которая дает мне, - ** File " Web_T.py" line 20, in html ** html (1) RuntimeError: maximum recursion depth exceeded не, если открывать другой трэд или прямо здесь –  22.01.2017, 22:16
  • 5
    @Snoop13 конечно ты называешь перекурсивной формы твой funció n, эта ошибка показывает, что ты преодолел lí mite по умолчанию, у которого есть CPython так называемых переиталиков (я думаю, что их было 1000). Это lí mite из-за безопасности после того, как не существовали optimizació n recursió n из-за очереди, он немного консервативный и возможно увеличиваться используя sys.setrecursionlimit(), но это может быть опасным, в этих случаях всегда лучше оптимизировать có я говорю или использовать iteració n вместо возврата. Если ты продолжаешь с проблемами лучше, чтобы ты создал новый вопрос и añ adas твой có я говорю. –  22.01.2017, 22:50

Теги

Похожие вопросы