summaryrefslogtreecommitdiff
path: root/advanced-features-functions.rst
diff options
context:
space:
mode:
authorPuneeth Chaganti2010-10-06 15:16:09 +0530
committerPuneeth Chaganti2010-10-06 15:16:09 +0530
commit8f629313fdb1ed609b7c18928616c994f58b7576 (patch)
treef1f09d517284797d303dc56626ee39f77cec83f9 /advanced-features-functions.rst
parentcff8fa89de273338c6ccca0a22217ff3f3858955 (diff)
downloadst-scripts-8f629313fdb1ed609b7c18928616c994f58b7576.tar.gz
st-scripts-8f629313fdb1ed609b7c18928616c994f58b7576.tar.bz2
st-scripts-8f629313fdb1ed609b7c18928616c994f58b7576.zip
Changed structure of my scripts.
Diffstat (limited to 'advanced-features-functions.rst')
-rw-r--r--advanced-features-functions.rst203
1 files changed, 0 insertions, 203 deletions
diff --git a/advanced-features-functions.rst b/advanced-features-functions.rst
deleted file mode 100644
index 9ed8dc5..0000000
--- a/advanced-features-functions.rst
+++ /dev/null
@@ -1,203 +0,0 @@
-========
- Script
-========
-
-{{{ show the welcome slide }}}
-
-Welcome to the tutorial on advanced feature of functions.
-
-{{{ show the outline slide }}}
-
-In this tutorial we shall be looking at specifying default arguments
-to functions when defining them and calling functions using keyword
-arguments. We shall also, look at some of the built-in functions
-available in the standard library of Python.
-
-{{{ switch to terminal }}}
-
-We have an ``ipython`` terminal open, which we shall be using through
-out this session.
-
-Let's use the ``round`` function as an example to understand what a
-default value of an argument means. Let's type the following
-expressions in the terminal.
-
-::
-
- round(2.484)
-
- round(2.484, 2)
-
-Both the first expression and the second are calls to the ``round``
-function, but the first calls it with only one argument and the second
-calls it with two arguments. By observing the output, we can guess
-that the first one is equivalent to call with the second argument
-being 0. 0 is the default value of the argument.
-
-{{{ show a slide with examples of functions showing default values }}}
-::
-
- s.strip() # strips on spaces.
- s.strip('@') # strips the string of '@' symbols.
-
- plot(x, y) # plots with x vs. y using default line style.
- plot(x, y, 'o') # plots x vs. y with circle markers.
-
- linspace(0, 2*pi, 100) # returns 100 points between 0 and 2pi
- linspace(0, 2*pi) # returns 50 points between 0 and 2pi
-
-#[punch: all above content goes on to a slide]
-
-{{{ switch back to ipython }}}
-
-Let's now define a simple function that uses default arguments. We
-define a simple function that prints a welcome message to a person,
-given a greeting and his/her name.
-
-::
-
- def welcome(greet, name="World"):
- print greet, name
-
-Let us first call the function with two arguments, one for ``greet``
-and other for ``name``.
-
-::
-
- welcome("Hi", "Guido")
-
-We get the expected welcome message, "Hi Guido".
-
-Now let us call the function with just one argument "Hello".
-::
-
- welcome("Hello")
-
-"Hello" is treated as the ``greet`` and we get "Hello World" as
-the output. "World" is the default value for the argument ``name``.
-
-E%% %% Pause the video here and redefine the function ``welcome``, by
-interchanging it's arguments. Place the ``name`` argument with it's
-default value of "Hello" before the ``greet`` argument. Then, resume
-the video.
-
-::
-
- def welcome(name="World", greet):
- print greet, name
-
-We get an error that reads ``SyntaxError: non-default argument follows
-default argument``. When defining a function all the argument with
-default values should come at the end.
-
-E%% %% Pause the video here and type ``linspace?`` to see the
-definition of the command and notice how all the arguments with
-default values are towards the end.
-
-::
-
- linspace?
-
-E%% %% Pause the video here and redefine the function ``welcome`` with
-a default value of "Hello" to the ``greet`` argument. Then, call the
-function without any arguments. Then, resume the video.
-
-::
-
- def welcome(greet="Hello", name="World"):
- print greet, name
-
-
- welcome()
-
-
-Let us now learn what keyword arguments are.
-
-{{{ show a slide with examples using keyword arguments. }}}
-::
-
- legend(['sin(2y)'], loc = 'center')
-
- plot(y, sin(y), 'g', linewidth = 2)
-
- annotate('local max', xy = (1.5, 1))
-
- pie(science.values(), labels = science.keys())
-
-When you are calling functions in Python, you don't need to remember
-the order in which to pass the arguments. Instead, you can use the
-name of the argument to pass it a value. This slide shows a few
-function calls that use keyword arguments. ``loc``, ``linewidth``,
-``xy`` and ``labels`` are being called with keyword arguments.
-
-{{{ switch to ipython terminal }}}
-
-Let us try and understand this better using the ``welcome`` function
-that we have been using all along. Let us call it in different ways
-and observe the output to see how keyword arguments work.
-
-::
-
- welcome()
-
- welcome("Hello", "James")
-
- welcome("Hi", name="Guido")
-
-When no keyword is specified, the arguments are allotted based on
-their position. So, "Hi" is the value of the argument ``greet`` and
-name is passed the value "Guido".
-::
-
- welcome(name="Guido", greet="Hey! ")
-
-When keyword arguments are used, the arguments can be called in any
-order.
-
-::
-
- welcome(name="Guido", "Hey")
-
-This call returns an error that reads, ``non keyword arg after keyword
-arg``. Python expects all the keyword to be present towards the end.
-
-That brings us to the end of what we wanted to learn about ``keyword``
-arguments.
-
-{{{ switch to a slide showing variety of functions with uses }}}
-
-Before defining a function of your own, make sure that you check the
-standard library, for a similar function. Python is popularly called a
-"Batteries included" language, for the huge library that comes along
-with it.
-
-::
-
- Math functions - abs, sin, ....
-
-#[punch: Need to decide, exactly what to put here. Reviewer comments
- welcome.]
-
-
-{{{ switch to slide showing classes of functions in pylab, scipy }}}
-
-Apart from the standard library there are other libraries like ``pylab``,
-``scipy``, etc which have a huge collection of functions for scientific
-purposes.
-::
-
- pylab
- plot, bar, contour, boxplot, errorbar, log, polar, quiver, semilog
-
- scipy (modules)
- fftpack, stats, linalg, ndimage, signal, optimize, integrate
-
-{{{ switch slide to summary slide }}}
-
-That brings us to the end of this tutorial. In this tutorial we have
-learnt how to use functions with default values and keyword
-arguments. We also looked at the range of functions available in the
-Python standard library and the Scientific Computing related
-packages.
-
-Thank You!