timeit

Програмиране с Python

Курс във Факултета по Математика и Информатика към СУ

Продуктивни с Python

  1. Здравейте, тъй като днес по време на лекцията стана въпрос за форматиране на кода ни, да бъде по стандарт PEP8, то реших да отворя тази тема, в която може да споделяме интересни инструменти, които да ни улесняват работата, но и не само. Като цяло неща, които ни помагат да бъдем по-продуктивни.

    В момента използвам Sublime Text и Anaconda, http://damnwidget.github.io/anaconda/, което е plugin към Sublime и има доста интересни и полезни features, като автоматично форматиране на кода, да бъде по стандарта PEP8 и т.н. Доста помага и спестява работа.

    Ето и някои от настройките ми на редактора: https://gist.github.com/pepincho/62d2d077d2d2e087f577.

  2. Ето и това, което аз ползвам за редактора Atom. Използвам плъгини linter и linter-flake8(използвам него вместо linter-pep8, понеже освен за стил следи и за други нередности като импортирани, но неизползвани модули, дефинирани, но неиползвани променливи, предифиниране на функции и т.н), както и основните като language-python. За да инсталирате тези плъгини използвайте:

    1. pip install flake8
    2. apm install linter
    3. apm install linter-flake8

    Допълнително може да инсталирате и flake8-docstrings за поддръжка на pep257 с pip install flake8-docstrings

    Забележка: Ако сте на Archlinux или Manjaro най-вероятно нямате инсталиран pip. Инсталира ce с pacman -S python-pip. Също така като инсталирате пакети с pip може да получите грешка от вида permission denied..., ако нямате нужните права за поддиректорията site-packages на python инсталационната директория.

  3. Днес попаднах на един прекрасен plugin за Atom, който ви осигурява autocompletion като на Visual Studio(дори и docstring-a показва). Казва се autocomplete-python (apm install autocomplete-python). Ето и линк, където може да видите какви фийчъри(освен autocomplete-a) има и как се ползват:

    https://github.com/sadovnychyi/autocomplete-python

Трябва да сте влезли в системата, за да може да отговаряте на теми.