Есть ли ярлык / goto в Python?

Хотя я не уверен, как изменить его во время выполнения, вы можете установить в командной строке свой значок Dock с помощью опции -Xdock:icon, например:

 >java -Xdock:icon=/path/myIcon.png myApp

Эта статья имеет много полезной информации о том, как подключить Java-приложения к Mac, и вам может быть интересно узнать об утилитах и ​​инструментах для Mac, перечисленных в здесь , а также о вариантах развертывания, перечисленных в здесь. (последняя ссылка особенно полезна, если вы хотите перейти по пути Java Webstart).

141
задан Mu Mind 23 September 2012 в 04:29
поделиться

3 ответа

Python предлагает Вам способность сделать некоторые вещи, которые Вы могли сделать с goto, использующим функции первого класса. Например:

void somefunc(int a)
{
    if (a == 1)
        goto label1;
    if (a == 2)
        goto label2;

    label1:
        ...
    label2:
        ...
}

Мог быть сделан в Python как это:

def func1():
    ...

def func2():
    ...

funcmap = {1 : func1, 2 : func2}

def somefunc(a):
    funcmap[a]()  #Ugly!  But it works.

Предоставленный, который не является лучшим способом заменить goto. Но не зная точно, что Вы пытаетесь сделать с goto, трудно дать определенный совет.

ascobol:

Ваш лучший выбор состоит в том, чтобы или включить его в функцию или использовать исключение. Для функции:

def loopfunc():
    while 1:
        while 1:
            if condition:
                return

Для исключения:

try:
    while 1:
        while 1:
            raise BreakoutException #Not a real exception, invent your own
except BreakoutException:
    pass

Используя исключения, чтобы сделать материал как это может чувствовать себя немного неловким, если Вы происходите из другого языка программирования. Но я утверждал бы, что, если Вам не нравится использовать исключения, Python не является языком для Вас.:-)

66
ответ дан Community 23 September 2012 в 04:29
поделиться

Ответить @ascobol вопрос использование @bobince предложение из комментариев:

for i in range(5000):
    for j in range(3000):
        if should_terminate_the_loop:
           break
    else: 
        continue # no break encountered
    break

отступ для else блок корректен. Код использует неясный else после цикла синтаксис Python. См. , Почему Python 'еще' использует после для и циклы с условием продолжения?

15
ответ дан jfs 23 September 2012 в 04:29
поделиться

Нет, Python не поддерживает маркировки и goto, если, именно это Вы после. Это - язык (очень) структурного программирования.

101
ответ дан unwind 23 September 2012 в 04:29
поделиться
Другие вопросы по тегам:

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