изучение python 3.0 на ubuntu

[решено]

Я изменил настройки в 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

person m42    schedule 24.03.2009    source источник
comment
Поскольку вы новичок в Python, я настоятельно рекомендую вам начать с 2.x.   -  person Vasil    schedule 24.03.2009
comment
также отметьте предпочтение пробелов над вкладками, что лучше и рекомендуется в pep8.   -  person nosklo    schedule 24.03.2009
comment
Благодарю. я изменю настройку pref, когда вернусь домой. @vasil: не могли бы вы расширить свое предложение начать с 2.x?   -  person m42    schedule 24.03.2009


Ответы (1)


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

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

person Devin Jeanpierre    schedule 24.03.2009