Главная страница
Навигация по странице:

  • $ sudo add-apt-repository ppa:deadsnakes/ppa $ sudo apt-get update $ sudo apt install python3.7

  • Мэтиз. Изучаем Python. Crash course2 n d e d i t i o na h a n d s o n, p r o j e c t b a s e d i n t r o d u c t i o n t o p r o g r a m m i n g


    Скачать 6.2 Mb.
    НазваниеCrash course2 n d e d i t i o na h a n d s o n, p r o j e c t b a s e d i n t r o d u c t i o n t o p r o g r a m m i n g
    Дата28.06.2022
    Размер6.2 Mb.
    Формат файлаpdf
    Имя файлаМэтиз. Изучаем Python.pdf
    ТипДокументы
    #618322
    страница50 из 52
    1   ...   44   45   46   47   48   49   50   51   52
    488 Приложение А • Установка Python и диагностика проблем
    Python в macOS
    В инструкциях по установке из главы 1 используется официальная программа установки Python по адресу https://python .org/
    , которую я рекомендую исполь- зовать, если только у вас нет веских причин сделать иначе. Другое возможное решение — Homebrew, инструмент, который может использоваться для установки разнообразных программ в macOS. Если вы уже применяете Homebrew и хотите воспользоваться этой программой для установки Python или если ваши коллеги работают с Homebrew и вы хотите работать по той же схеме, следуйте инструкции ниже.
    Установка Homebrew
    Homebrew зависит от некоторых средств командной строки пакета Apple Xcode, поэтому сначала необходимо установить инструментарий командной строки Xcode.
    Откройте терминальное окно и введите следующую команду:
    $ xcode-select --install
    Введите подтверждения в открывающихся диалоговых окнах (это может занять некоторое время в зависимости от скорости подключения). Затем установите
    Homebrew:
    $ /usr/bin/ruby -e "$(curl -fsSL
    https://raw.githubusercontent.com/Homebrew/install/master/install)"
    Эту команду можно найти на основной странице сайта Homebrew по адресу http://
    brew .sh/
    . Обратите внимание на пробел между curl
    -fsSL
    и URL-адресом.
    ПРИМЕЧАНИЕ Ключ
    -e в этой команде приказывает Ruby (язык программирования, на котором написана программа Homebrew) выполнить загружаемый код . Такие коман- ды должны использоваться только с доверенными источниками .
    Чтобы убедиться в том, что установка Homebrew прошла успешно, выполните следующую команду:
    $ brew doctor
    Your system is ready to brew.
    Этот результат означает, что все готово для установки пакетов Python через
    Homebrew.
    Установка Python
    Чтобы установить новейшую версию Python, введите следующую команду:
    $ brew install python

    Ключевые слова Python и встроенные функции 489
    Для проверки установленной версии используется следующая команда:
    $ python3 --version
    Python 3.7.2
    $
    Теперь вы cможете запустить терминальный сеанс Python командой python3
    , а так- же воспользоваться командой python3
    для настройки текстового редактора, чтобы программы Python запускались в только что установленной версии Python вместо предшествующей версии, установленной в вашей системе. Если вам понадобится помощь по настройке Sublime Text для использования только что установленной версии, обращайтесь к инструкциям из главы 1.
    Python в системе Linux
    Python включается по умолчанию почти в каждую систему Linux. Но если по умолчанию в вашей системе используется версия ниже 3.6, вам стоит установить обновленную версию. Следующие инструкции должны работать в большинстве систем на базе apt.
    Мы воспользуемся пакетом deadsnakes
    , упрощающим установку нескольких вер- сий Python:
    $ sudo add-apt-repository ppa:deadsnakes/ppa
    $ sudo apt-get update
    $ sudo apt install python3.7
    Эти команды устанавливают Python 3.7 в вашей системе.
    Следующая команда запускает терминальный сеанс с Python 3.7:
    $ python3.5
    >>>
    Эта команда также часто используется при настройке текстового редактора и при запуске программ из терминального окна.
    Ключевые слова Python и встроенные функции
    Python содержит целый набор ключевых слов и встроенных функций. Помните о них, выбирая имена переменных. Одна из типичных проблем программирова- ния — выбор хороших имен переменных, которые должны быть достаточно корот- кими и содержательными. Однако в качестве имен нельзя использовать ключевые слова Python, а также имена встроенных функций Python, потому что это приведет к замещению функций.
    В этом разделе перечислены ключевые слова Python и имена встроенных функций, чтобы вы знали, каких имен следует избегать.

    490 Приложение А • Установка Python и диагностика проблем
    Ключевые слова Python
    Каждое ключевое слово из следующего списка имеет конкретный смысл в про- граммах Python. При попытке использовать эти слова в качестве имен переменных произойдет ошибка.
    False await else import pass
    None break except in raise
    True class finally is return and continue for lambda try as def from nonlocal while assert del global not with async elif if or yield
    Встроенные функции Python
    Если вы используете любую из следующих встроенных функций в качестве имени переменной, это приведет не к ошибке, а к изменению поведения этой функции:
    abs()
    delattr()
    hash()
    memoryview()
    set()
    all()
    dict()
    help()
    min()
    setattr()
    any()
    dir()
    hex()
    next()
    slice()
    ascii()
    divmod()
    id()
    object()
    sorted()
    bin()
    enumerate()
    input()
    oct()
    staticmethod()
    bool()
    eval()
    int()
    open()
    str()
    breakpoint()
    exec()
    isinstance()
    ord()
    sum()
    bytearray()
    filter()
    issubclass()
    pow()
    super()
    bytes()
    float()
    iter()
    print()
    tuple()
    callable()
    format()
    len()
    property()
    type()
    chr()
    frozenset()
    list()
    range()
    vars()
    classmethod()
    getattr()
    locals()
    repr()
    zip()
    compile()
    globals()
    map()
    reversed()
    __import__()
    complex()
    hasattr()
    max()
    round()

    Б
    Текстовые редакторы
    Программисты проводят много времени за написанием, чтением и редактирова- нием кода в текстовом редакторе, или интегрированной среде разработки (IDE,
    Integrated Development Environment). Очень важно, чтобы эта работа выполнялась по возможности эффективно. Эффективный редактор должен поддерживать неко- торые простые возможности: например, выделять структуру кода, чтобы вы могли обнаружить типичные ошибки во время работы, — но не до такой степени, чтобы это отвлекало программиста от работы. Также редактор должен поддерживать автоматическую расстановку отступов, маркеры для обозначения длины строки и комбинации клавиш для часто выполняемых операций.
    IDE представляет собой текстовый редактор, дополненный встроенными ин- струментами, например интерактивными отладчиками и интроспекцией. IDE анализирует ваш код в процессе ввода и пытается использовать информацию о создаваемом проекте. Например, когда вы начинаете вводить имя функции,
    IDE может вывести список всех аргументов, получаемых этой функцией. Такое поведение может быть очень полезно, когда среда работает идеально, а вы хо- рошо понимаете все происходящее. Но оно также может сбить с толку новичка и усложнить исправление ошибок, когда вы не понимаете, почему ваш код не работает в IDE.
    Начинающему программисту рекомендуется использовать редактор, который под- держивает все эти функции, но не создает проблем на начальном этапе. Текстовые редакторы также создают существенно меньшую нагрузку на систему; таким об- разом, если вы работаете на старом компьютере или в системе с недостаточными ресурсами, текстовый редактор будет работать лучше, чем IDE. Но если вы уже знакомы с IDE или хотите работать в одних условиях с вашими коллегами, ис- пользующими IDE, — ничто не мешает вам попробовать.
    На данный момент выбор инструмента не столь важен; лучше провести время за изучением языка и работой над интересующими вас проектами. А когда вы освои- тесь с азами, вы начнете лучше понимать, какие инструменты подходят лично вам.
    В этом приложении мы настроим текстовый редактор Sublime Text для более эффективной работы. Также будут кратко рассмотрены другие редакторы, заслу- живающие вашего внимания.

    492 Приложение Б • Текстовые редакторы
    Настройка Sublime Text
    В главе 1 мы настроили Sublime Text для использования нужной версии Python при запуске программ. А теперь настроим некоторые функции, упомянутые в на- чале приложения.
    Преобразование табуляций в пробелы
    Чередование символов табуляции и пробелов в коде может создать коварные про- блемы в программах. Чтобы этого не произошло, вы можете настроить редактор
    Sublime Text так, чтобы для создания отступов всегда использовались пробелы
    (даже при нажатии клавиши Tab). Выберите команду
    ViewIndentation и убедитесь в том, что флажок
    Indent
    Using
    Spaces установлен. Если флажок снят, установите его.
    Также убедитесь в том, что ширина позиции табуляции (
    Tab
    Width
    ) установлена равной 4 пробелам.
    Если в вашей программе используется смесь табуляций и пробелов, вы можете преобразовать все табуляции в пробелы командой
    ViewIndentationConvert
    Tabs to
    Spaces
    . Также можете обратиться к этим функциям, щелкнув на поле
    Spaces в пра- вом нижнем углу окна Sublime Text. Теперь вы сможете использовать клавишу Tab для создания отступов в коде. Sublime Text автоматически вставляет пробелы для создания отступов в этих строках.
    Выбор индикатора длины строки
    В большинстве редакторов существует возможность назначения визуального при- знака (обычно вертикальной линии), обозначающего рекомендуемую длину строки.
    В сообществе Python по общепринятым соглашениям строки ограничиваются дли- ной в 79 символов и менее. Чтобы включить эту возможность, выберите команду
    ViewRuler и щелкните на значении 80. Sublime Text устанавливает вертикальную черту в позиции 80-го символа, чтобы вам было проще ограничить строки необхо- димой длиной.
    Расстановка и отмена отступов в блоках
    Чтобы включить отступ в блоке, выделите код и выберите команду
    EditLineIndent или нажмите
    Ctrl+
    ] (
    Cmd+
    ] в macOS). Чтобы убрать отступ в блоке, выберите коман ду Edit

    Line

    Unindent или нажмите
    Ctrl+[
    (или
    Cmd
    +
    ]).
    Преобразование блоков в комментарии
    Чтобы временно исключить блок кода из программы, вы можете выделить блок и закрыть его комментарием, чтобы он игнорировался интерпретатором Python.
    Выберите команду
    EditCommentToggle
    Comment
    (
    Ctrl+
    / или
    Cmd+
    /). Строки поме- чаются знаком комментария (
    #
    ) на одном уровне отступа с кодом, указывающим на

    Другие текстовые редакторы и IDE 493
    то, что это не обычный комментарий. Когда вы захотите вернуть блок в программу, выделите его и выберите ту же команду.
    Сохранение конфигурации
    Некоторые из упомянутых настроек распространяются только на текущий файл, с которым вы работаете. Чтобы изменения действовали для всех файлов, откры- ваемых в Sublime Text, необходимо внести их в пользовательскую конфигурацию.
    Выберите команду
    Sublime
    TextPreferencesSettings и найдите файл
    Preferences .
    sublime-settings —
    User
    . Включите в этот файл следующий фрагмент:
    {
    "rulers": [80],
    "translate_tabs_to_spaces": true
    }
    Сохраните файл, и ваши настройки линейки и табуляций будут действовать во всех файлах, с которыми вы работаете в Sublime Text. Если вы будете добавлять в этот файл другие строки, следите за тем, чтобы каждая строка, кроме последней, завершалась запятой. Просмотрите файлы настроек других пользователей в интер- нете и настройте свой редактор с параметрами, которые обеспечат вам наиболее эффективную работу.
    Дальнейшая настройка
    Многие аспекты Sublime Text можно настроить так, чтобы ваша работа была еще более эффективной. Изучая меню, обращайте внимание на комбинации клавиш для команд, которыми вы пользуетесь особенно часто. Каждый раз, когда вы ис- пользуете комбинацию клавиш вместо того, чтобы тянуться к мыши или сенсорной панели, ваша работа становится чуть более эффективной. Не пытайтесь запомнить все сразу; постарайтесь эффективно выполнять наиболее часто выполняемые действия и обращайте внимание на другие средства, которые могут пригодиться в организации вашего рабочего процесса.
    Другие текстовые редакторы и IDE
    Многие разработчики пользуются другими текстовыми редакторами; наверняка вы не раз услышите о них. Как правило, такие редакторы настраиваются по тем же принципам, что и Sublime Text. Ниже приведена небольшая подборка текстовых редакторов, с которыми вы можете столкнуться.
    IDLE
    IDLE — текстовый редактор, включенный в поставку Python. В работе он менее интуитивен, чем Sublime Text, но он часто упоминается в других учебниках, пред- назначенных для начинающих, поэтому вам стоит познакомиться с ним.

    494 Приложение Б • Текстовые редакторы
    Geany
    Geany — простой текстовый редактор, который позволяет запускать почти все программы прямо из редактора. Кроме того, Geany выводит результаты в терми- нальном окне, что поможет вам освоить работу в терминале. Редактор Geany имеет очень простой интерфейс, но он достаточно мощен, поэтому многие опытные про- граммисты продолжают пользоваться им.
    Emacs и vim
    Многие опытные программисты отдают предпочтение emacs или vim. Эти два по- пулярных редактора спроектированы так, чтобы пользователю не приходилось отрывать руки от клавиатуры. Это означает, что опытный пользователь может читать, писать и редактировать код с очень высокой эффективностью. С другой стороны, для освоения этих редакторов придется основательно потрудиться. Vim входит в поставку большинства систем Linux и macOS, причем как Emacs, так и Vim могут выполняться полностью в режиме терминала. По этой причине они часто ис- пользуются для написания кода на серверах через удаленный терминальный сеанс.
    Программисты часто советуют хотя бы опробовать эти редакторы, но многие про- фессионалы забывают, как много всего нового узнает новичок. Знать о существо- вании этих редакторов полезно, но отложите знакомство с ними до того момента, когда вы начнете уверенно писать программы и работать с ними в более простых редакторах, которые позволяют сосредоточиться на изучении программирования, а не на работе с редактором.
    Atom
    Atom — текстовый редактор, обладающий рядом возможностей, которые обычно встречаются в IDE. Разработчик может открыть отдельный файл для работы или же открыть папку проекта и получить удобный доступ ко всем файлам в этом проекте. Atom интегрируется с Git и GitHub, и когда вы начнете пользоваться системами контроля версий, вы сможете работать с локальными и удаленными репозиториями прямо из редактора без запуска отдельного терминала.
    Atom также позволяет устанавливать пакеты, а некоторые аспекты его поведения могут быть расширены. Многие пакеты расширения реализуют поведение, с кото- рым Atom в большей степени напоминает IDE.
    Visual Studio Code
    Visual Studio Code, или VS Code, — другой редактор, более похожий на IDE. VS
    Code поддерживает эффективную работу с отладчиком, содержит встроенные сред- ства контроля версий, а также предоставляет функциональность автоматического завершения кода.

    Другие текстовые редакторы и IDE 495
    PyCharm
    Среда PyCharm популярна среди программистов Python, потому что она была по- строена специально для работы с Python. Полная версия требует платной подписки, но также существует бесплатная версия PyCharm Community Edition, которую многие разработчики считают полезной.
    В PyCharm встроен статический анализатор кода, который проверяет, что ваш стиль программирования соответствует основным соглашениям Python, и пред- лагает рекомендации при отходе от стандартного форматирования кода Python.
    Также в PyCharm имеется интегрированный отладчик, который помогает эффек- тивно находить ошибки, и специальные режимы для полноценной работы с рядом популярных библиотек Python.
    Jupyter Notebook
    Jupyter Notebook отличается от традиционных текстовых редакторов или IDE тем, что это веб-приложение, построенное из блоков. Блоки могут быть как программ- ными, так и текстовыми. Текстовые блоки могут содержать разметку Markdown, что позволяет включать в них простое форматирование.
    Документы Jupyter Notebook были разработаны для применения Python в научных приложениях, но с того времени они развивались и нашли применение в широком спектре ситуаций. Вместо того чтобы включать обычные комментарии в файл
    .py
    , вы включаете между частями кода понятный текст с несложным форматировани- ем: заголовками, маркированными списками и гиперссылками. Каждый блок кода может выполняться независимо от других, что позволяет тестировать небольшие части программы; также можно выполнить все блоки одновременно. Каждый блок имеет собственную область вывода, причем эти области можно включать и отклю- чать по мере надобности.
    Документы Jupyter Notebook могут создавать некоторую путаницу из-за взаимо- действия между ячейками. Функция, определенная в одной ячейке, становится доступной для других ячеек. В большинстве случаев это удобно, но также возмож- ны недоразумения — например, в больших документах или если вы недостаточно хорошо понимаете, как работает среда Notebook.
    Каждый разработчик, занимающийся научной работой или задачами обработки данных на Python, почти неизбежно столкнется с Jupyter Notebook в какой-то момент своей деятельности.

    В
    Помощь и поддержка
    Во время изучения программирования каждый из нас в какой-то момент оказы- вается в тупике. Один из важнейших навыков, которые должен освоить каждый программист, — умение быстро найти выход из тупика. В этом приложении опи- саны некоторые способы решения проблем, которые помогут вам выпутаться из сложной ситуации.
    Первые шаги
    Если у вас возникли трудности, сначала оцените ситуацию. Прежде чем обращать- ся за помощью, убедитесь в том, что вы можете четко ответить на следующие три вопроса:
    ‰
    ‰
    Что вы пытаетесь сделать?
    ‰
    ‰
    Что вы делали до настоящего момента?
    ‰
    ‰
    Какие результаты вы получили?
    Ваши ответы должны быть как можно более конкретными. Например, в первом вопросе утверждение «Я пытаюсь установить последнюю версию Python на свою машину с Windows 10» достаточно информативно, чтобы другие пользователи со- общества Python могли вам помочь. Формулировки типа «Я пытаюсь установить
    Python» просто не содержат достаточной информации, чтобы кто-то мог предло- жить вам помощь.
    Ответ на второй вопрос должен быть достаточно развернутым, чтобы вам не пред- лагали делать то, что уже было сделано: описание «Я открыл страницу https://
    python .org/downloads/
    и выбрал кнопку
    Download для моей системы. Затем я запу- стил программу установки» более полезно, чем «Я зашел на сайт Python и что-то загрузил».
    Что касается последнего вопроса, при поиске в интернете или обращении за по- мощью желательно знать точные сообщения об ошибках.
    Иногда в процессе поиска ответов на эти три вопроса вы сами понимаете, где была допущена оплошность, и выходите из тупика самостоятельно. У программистов

    Поиск в интернете
    1   ...   44   45   46   47   48   49   50   51   52


    написать администратору сайта