ipythonAan de slag met ipython


Opmerkingen

IPython is een Read-Evaluate-Print Loop- shell voor interactieve Python-ontwikkeling. Het ondersteunt interactieve visualisaties met behulp van GUI-toolkits en biedt een kernel voor Jupyter . Het kan ook worden ingebed in andere projecten.

Er zijn andere vergelijkbare REPL-shells voor Python, bijvoorbeeld ptpython en bpython .

versies

Versie Publicatiedatum
5.0.0 2016/07/07
4.2.0 2016/04/20
4.1.0 2016/02/02
4.0.0 2015/08/12
3.2.0 2015/06/21
3.1.0 2015/04/03
3.0.0 2015/02/27
2.4.0 2015/01/30
2.3.0 2014/10/01
2.2.0 2014/08/06
2.1.0 2014/05/21
2.0.0 2014/04/02
0.13 2012-06-30
0.12 2011-12-19
0.11 2011-07-31
0.10 2010-09-01
0.9 2008-09-13

Installatie en gebruik

Net als de ingebouwde interactieve shell van python , is IPython een shell van REPL ( Read-Evaluate-Print Loop ), met een verscheidenheid aan functies die het aangenamer maken om te gebruiken voor dagelijkse Python-ontwikkeling dan de ingebouwde REPL-shell .

Installatie

Om het te installeren:

pip install ipython
 

Of, via Anaconda :

# To install into the active environment:
$ conda install ipython 

# Or, to create a new environment with IPython installed:
$ conda create -n <env_name> ipython
 

Of, via Enthought Canopy :

$ enpkg ipython
 

Gebruik

Voer het na installatie uit met uw standaard Python (2 of 3) met behulp van:

ipython
 

Of om Python 3 te gebruiken:

ipython3
 

ipython shell

Hulp krijgen

?
 

Dit geeft u een inleiding en een overzicht van de functies van IPython.

object? 
 

Hierin staan alle methoden en velden van het object en de bijbehorende documentatie (indien aanwezig).

object??
 

Hetzelfde als hierboven, biedt nog meer details over het object, in het bijzonder zal proberen de broncode voor het object te vinden en weer te geven.

object.<TAB Key>
 

TAB- voltooiing die de beschikbare velden / methoden van een object opsomt en doorloopt. Vanwege het dynamische karakter van Python kunnen niet alle methoden op deze manier worden ontdekt. Ook privémethoden (beginnend met _ ) zijn standaard verborgen, voer een _ en druk nogmaals op TAB om ze weer te geven.

%quickref
 

Dit geeft een snelreferentie weer voor de IPython-shell.

IPython tegen Jupyter

IPython bestaat uit twee delen: een opdrachtregelinterface die de standaard python REPL vervangt en een manier om Python door de webbrowser te laten lopen als een grafische gebruikersinterface.

Met de nieuwste ontwikkelingen is het browsergedeelte opgesplitst in het Jupyter- project waarmee meerdere programmeertalen de grafische interface kunnen gebruiken. Het is nog steeds mogelijk om IPython als Python-kernel hiervoor te gebruiken.

Actuele installatie-instructies voor Jupyter zijn te vinden in de officiële installatiedocumenten .

ipython of jupyter console , wanneer deze wordt opgeroepen vanaf de opdrachtregel zonder andere parameters, komt een interactieve terminalsessie binnen zoals hieronder: Jupyter-console

jupyter qtconsole , of ipython qtconsole vóór versie 5 , start een QT-gebaseerde console met meerdere tabbladen:

QT-console

jupyter notebook , of ipython notebook vóór versie 5 , start een server en opent standaard een webpagina op http://localhost:8888/tree , met de weergave "Home" van de huidige map. Hiermee kunt u bestaande notebooks of nieuwe kernels in verschillende talen openen, afhankelijk van welke u hebt geïnstalleerd ; elk wordt geopend in een nieuw browsertabblad.

Met notebooks kunt u markdown , inclusief MathJax , code uit de kernel van uw keuze, plots en grafieken, afbeeldingen en zelfs video's mixen. Home View voer hier de afbeeldingsbeschrijving in

Plakken in IPython

%paste
 

% paste demo

Dit is de primaire magische methode voor plakken. Het plakt rechtstreeks tekst van het systeemklembord en behandelt op intelligente wijze veelvoorkomende problemen met nieuwe regels en inspringen.

%cpaste
 

% cpasteodemo

Als u IPython via SSH gebruikt, gebruikt %cpaste plaats daarvan %cpaste , omdat dit geen toegang nodig heeft tot het externe klembord van het systeem.

Sinds IPython 5.0.0 moet de verbeterde prompt toolkit direct omgaan met het plakken van multi-line code zonder de noodzaak van %paste of %cpaste .

Bewaar variabelen op IPython

%storemagic slaat variabelen en macro's op in de database van %storemagic . Om automatisch opgeslagen variabelen te herstellen bij het opstarten, voeg dit toe aan ipython_config.py :

c.StoreMagic.autorestore = True
 

Voorbeeld:

In [1]: l = ['hello',10,'world']
In [2]: %store l
In [3]: exit

(IPython session is closed and started again...)

ville@badger:~$ ipython
In [1]: l
Out[1]: ['hello', 10, 'world']
 

Notitie:

Opgemerkt moet worden dat als u de waarde van een variabele wijzigt, u deze opnieuw% moet opslaan als u de nieuwe waarde wilt behouden.

Merk ook op dat de variabelen pickbaar moeten zijn; de meeste basistypen van pythons kunnen veilig% store'd worden.