Python i Intellisense

Czy istnieje odpowiednik 'intellisense' dla Pythona?

Być może nie powinienem tego przyznać, ale uważam, że intellisense naprawdę przyspiesza "fazę odkrywania" nauki nowego języka. Na przykład przełączanie z VB.net do C# było wietrze ze względu na snippets i intellisense pomaga mi wzdłuż.

Author: sawa, 2009-05-25

16 answers

Ten wpis wyjaśnia ustawienie Vima jako Pythonowego IDE, opisuje funkcje podobne do Intellisense:

Python Intelsense
(źródło: dispatched.ch)

Jest to standard w Vim 7. Istnieje wiele innych bardzo przydatnych wtyczek do programowania Pythona w Vimie, takich jak Pyflakes , które sprawdzają kod w locie i Python_fn.vim , który zapewnia funkcjonalność do manipulowania wcięciami i blokami kodu Pythona.

 32
Author: redacted,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-18 05:01:21

Spójrz na narzędzia Pythona dla visual studio , zapewniają uzupełnianie kodu (A. K. A intellisense), debugowanie itp ...

Poniżej znajduje się zrzut ekranu interaktywnej powłoki Pythona pokazujący Ukończenie kodu.

Tutaj wpisz opis obrazka

 23
Author: Frederic Heem,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-11 09:29:33

PyDev środowisko dla Eclipse posiada funkcje podobne do intellisense dla Pythona. Utrzymywanie interaktywnej konsoli otwartej wraz z funkcją help(item) jest bardzo pomocne.

 18
Author: Paul Fisher,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-25 01:34:23

Dynamiczny charakter języka utrudnia analizę typu autouzupełniania, więc jakość różnych udogodnień, o których mowa powyżej, jest bardzo zróżnicowana.

Chociaż nie jest to dokładnie to, o co prosiłeś, powłoka ipython jest bardzo dobra do prac badawczych. Kiedy pracuję z nowym modułem, mam tendencję do wciągania go do ipythona i szturchania go. Po wypróbowaniu większości rozwiązań wymienionych powyżej (choć minęło wiele lat od Wing), obiekty wykończeniowe ipython są konsekwentnie bardziej niezawodne. Dwa główne narzędzia do eksploracji to tab complete i dodanie znaku zapytania do nazwy modułu/funkcji, aby uzyskać tekst pomocy, np.:

In [1]: import sqlalchemy

In [2]: sqlalchemy.s #tab completion
sqlalchemy.schema    sqlalchemy.select    sqlalchemy.sql       sqlalchemy.subquery

In [2]: sqlalchemy.select? #Shows docstring

In [3]: sqlalchemy.select?? #Shows method source

In [4]: edit sqlalchemy.select #opens the source in an editor
 14
Author: Karl Guertin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-25 03:22:07
 9
Author: Soviut,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-25 02:55:47

Zdecydowanie polecam PyDev . W Pydev możesz umieścić moduł, którego używasz w Forced Buildins, najczęściej uzupełnianie kodu będzie działać lepiej niż w innych Idach, takich jak KOMODO EDIT.

Również myślę IPython jest bardzo pomocny. Ponieważ jest to "run-time" W Ipythonie, uzupełnianie kodu w Ipythonie niczego nie przegapi.

 8
Author: jagttt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-25 01:54:20

PyCharm jest najlepszym PYTHONOWYM IDE z obsługą IntelliSense.

 7
Author: dns,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-06 16:41:39

Polecam Komodo Edit . Jednak powinienem coś zauważyć: nie dostaniesz nic tak dobrego, jak to, do czego jesteś przyzwyczajony z Visual Studio C# intellisense. Dynamiczna natura Pythona może utrudnić wykonywanie tego rodzaju funkcji.

 6
Author: Jason Baker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-25 02:33:11

Wingware na przykład implementuje autouzupełnianie, zobacz http://wingware.com/doc/edit/auto-completion .

 5
Author: Alex Martelli,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-25 01:07:20

Ctags + vim też Działa ok, chociaż nie jest tak potężny jak intellisense. Używając tego z ipython, możesz uzyskać pomoc online, automatyczne uzupełnianie nazw itp... Ale to jest oczywiście zorientowane na wiersz poleceń.

Eclipse + pydev też może to zrobić, ale nie mam z tym doświadczenia: http://pydev.sourceforge.net/

 4
Author: David Cournapeau,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-25 01:13:06

Cóż, myślę, że najbardziej dynamicznym sposobem nauki Pythona jest użycie iPython .

Masz autocompletion przy użyciu tab, dynamic behaviour, ponieważ jest to powłoka i możesz uzyskać pełną dokumentację dowolnego obiektu / metody wpisując:

object.method ?
Zgadzam się, że PyDev jest fajny. Ale jest ciężki, więc podczas nauki edytor tekstu + iPython jest naprawdę ładny.
 4
Author: e-satis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-26 13:18:05

Pyscripter ma najlepszy intellisense jaki spotkałem :)

 2
Author: hugo24,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-23 18:54:19

Dla Emacsa I VI jest też https://github.com/tkf/emacs-jedi .

 2
Author: Adam Benzan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-06 18:06:32

Polecam jedi-vim , dla mnie jest idealny, spróbuj, a nie pożałujesz.

 2
Author: j5shi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-14 01:23:54

IronPython to najlepsza droga. Visual Studio ma najlepsze wsparcie intellisense i można je wykorzystać za pomocą IronPython

 0
Author: SiTe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-25 01:51:44

Spróbuj visual Studio Code. Posiada bardzo potężną obsługę Pythona i Django oraz tysiące wtyczek do innych języków używanych w projekcie Pythona, takich jak CSS, HTML i szablony Django.

Najlepszy ze wszystkich, to jest za darmo: https://code.visualstudio.com

 0
Author: hamzed,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-16 08:36:46