изучение Python 3.0 на Ubuntu - PullRequest
       19

изучение Python 3.0 на Ubuntu

0 голосов
/ 24 марта 2009

[решено]

Я подправил настройки в komodo edit и в итоге получил:

без автоматического отступа

не позволяет содержимому файла переопределять настройки вкладки

предпочитайте символы табуляции над пробелами

4 пробела на отступ

4 ширина каждой вкладки char

Я также установил komodo для отображения пробелов и вкладок, которые позволили выявить испорченные участки.

да - это немного придирчиво. :)

[/ решена]

Я установил Python 3.0 в Ubuntu 8.10 вместе с Komodo-Edit Ide.

Я только начинаю изучать Python и читаю руководство по быстрому старту Python 2-е изд. (пример ниже из этой книги). Я получаю некоторые действительно разочаровывающие ошибки и буду очень признателен за ваши мысли.

Я много раз перепечатывал и проверял вкладки.

Я начинаю думать, что во время установки или настройки что-то пошло не так.

Я набрал следующее в komodo-edit:

#!/usr/bin/python3.0
for row in range(1, 10):
    for col in range(1, 10):
        p = row * col
        if p < 10:
            print(' ', end = '')
        print(row * col, ' ', end = '')
    print()

Я не могу проверить, что это IDLE с python 3 - похоже, не удалось установить ту версию IDLE. сейчас пытаюсь запустить из оболочки.

сначала просто используя "python" для вызова программы ...

PYTHON [1] $  python ktest.py 
      File "ktest.py", line 6
        print(' ', end = '')
                       ^
    SyntaxError: invalid syntax

сейчас пробует разные способы вызова компилятора python ...

PYTHON [1] $  python ktest.py 
          File "ktest.py", line 6
            print(' ', end = '')
                           ^
        SyntaxError: invalid syntax


PYTHON [1] $  python3 ktest.py 
      File "ktest.py", line 4
        p = row * col
                    ^
    TabError: inconsistent use of tabs and spaces in indentation


PYTHON [1] $  python3.0 ktest.py 
      File "ktest.py", line 4
        p = row * col
                    ^
    TabError: inconsistent use of tabs and spaces in indentation

1 Ответ

2 голосов
/ 24 марта 2009

В примере использовался python 2.x, поскольку python явно ссылался на python2.x (для некоторых x), а не на python3.0 (что хорошо, поскольку большинство программ предназначено для 2.x).

Вторые два примера использовали Python 3.0. Вы смешали табуляцию и пробелы в своем источнике и должны избавиться от символов табуляции (не вводите повторно - используйте замену регулярного выражения). Python 3.0 более чувствителен к этому, чем 2.x - вы можете получить то же поведение, используя python -tt для 2.x.

...