GeezerVison is showing ipython.org — Features | IPython
Features
Discover what makes IPython powerful
Smart Tab Completion
IPython's intelligent tab completion is powered by Jedi, providing context-aware suggestions for:
- Object attributes and methods
- Function parameters and arguments
- File and directory paths
- Module names and packages
In [1]: import numpy
In [2]: numpy.array.[press TAB]
append astype base byteswap ...
Magic Commands
Built-in special commands for interactive computing:
%timeit - Time code execution %debug - Enter debugger on exception %run - Execute Python scripts %prun - Profile code performance %matplotlib - Enable matplotlib integration
In [1]: %timeit sum(range(1000))
14.2 µs ± 245 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)
In [2]: %run my_script.py
Script executed successfully
In [3]: %matplotlib inline
Object Introspection
Explore objects and code interactively:
? - Show object documentation ?? - Show source code help() - Access Python help system
In [1]: import numpy
In [2]: numpy.array?
Type: type
String form: <class 'numpy.ndarray'>
Docstring:
ndarray(shape, dtype=float, buffer=None, offset=0,
strides=None, order=None)
In [3]: numpy.array??
Source code for numpy.ndarray...
Rich Display System
Display rich output including:
- HTML, Markdown, and LaTeX rendering
- PNG, JPEG, and SVG images
- Interactive plots and visualizations
- Data tables and formatted output
Rich History System
Powerful command history with:
- Persistent history across sessions
- Search and filter history
- Access previous input/output with
_ and _ih - History persistence to SQLite database
In [1]: x = 10
In [2]: y = 20
In [3]: x + y
Out[3]: 30
In [4]: _
Out[4]: 30
In [5]: _ih
['x = 10', 'y = 20', 'x + y', '_', '_ih']
System Integration
Seamlessly integrate shell commands:
- Run shell commands with
! - Capture command output to variables
- Access environment variables
- Change directory with
%cd
In [1]: !ls
In [2]: files = !ls *.py
In [3]: len(files)
Out[3]: 42
In [4]: %cd /tmp
Jupyter Kernel
IPython powers the Jupyter ecosystem:
- Backend for Jupyter Notebook
- Powers JupyterLab interactive environment
- Enables remote code execution
- Supports multiple programming languages through custom kernels