[IPython-user] Macros & slice notation
Fernando.Perez at colorado.edu
Fri Dec 30 12:34:34 CST 2005
skip at pobox.com wrote:
> >> we could change the range syntax in %macro and %save to use
> >> N-M
> Alan> Maybe N--M?
> >> instead of N:M
> I'm not exactly sure of the Python context where these will be operational,
> but both n-m and n--m are already valid Python expressions:
> >>> n=3
> >>> m=-7
> >>> n--m
> >>> 3---7
Not to worry: these are processed only for magics, so the arguments are
treated separately, and not as python expressions.
This is precisely an example of why I've argued on python-dev, on the
quit/exit thread, that a good interactive shell needs a control system which
is separate from the underlying language (in this case, python).
In ipython, the control commands are the %magics, and I've tried to make them,
in usage, as similar to shell commands as possible (--flags, ~filenames are
expanded, whitespace for all argument separation, etc). This makes getting
into ipython, hopefully, an easy process. I've tried to make the resulting
environment one that offers, within reason:
1. Normal python execution as expected, but better (tab, ?, tracebacks, pdb, etc.)
2. Seamless access with the OS: aliases, !cmds.
3. The benefits of python scripting for OS tasks: $vars
4. A way to interactively control ipython itself: %magics. These are normally
accessed without %, but it's important to have a disambiguation character, so
they remain _always_ accessible even when shadowed by python variables.
More information about the IPython-user