diff options
author | Jovina | 2011-07-12 12:14:01 +0530 |
---|---|---|
committer | Jovina | 2011-07-12 12:14:01 +0530 |
commit | bc1bdc9be493bada965904f7c6235aa09a082b18 (patch) | |
tree | dcd325b197e858b9f8631b58962fa7e94ed24478 /advanced_features_of_functions/slides.org | |
parent | 22aae6a95dd1b330536057b051434efb2a7fbc5d (diff) | |
download | st-scripts-bc1bdc9be493bada965904f7c6235aa09a082b18.tar.gz st-scripts-bc1bdc9be493bada965904f7c6235aa09a082b18.tar.bz2 st-scripts-bc1bdc9be493bada965904f7c6235aa09a082b18.zip |
Major changes to script & slides of 'advanced features of functions'.
Diffstat (limited to 'advanced_features_of_functions/slides.org')
-rw-r--r-- | advanced_features_of_functions/slides.org | 152 |
1 files changed, 115 insertions, 37 deletions
diff --git a/advanced_features_of_functions/slides.org b/advanced_features_of_functions/slides.org index fb66b6f..947b306 100644 --- a/advanced_features_of_functions/slides.org +++ b/advanced_features_of_functions/slides.org @@ -18,7 +18,7 @@ #+LaTeX_HEADER: commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen}, #+LaTeX_HEADER: showstringspaces=false, keywordstyle=\color{blue}\bfseries} -#+TITLE: Advanced features of functions +#+TITLE: #+AUTHOR: FOSSEE #+EMAIL: #+DATE: @@ -29,58 +29,136 @@ #+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t #+OPTIONS: TeX:t LaTeX:nil skip:nil d:nil todo:nil pri:nil tags:not-in-toc -* Outline - - Assigning default values to arguments - - Calling functions using Keyword arguments - - functions in standard library -* Question 1 - Redefine the function ~welcome~, by interchanging it's - arguments. Place the ~name~ argument with it's default value of +* +#+begin_latex +\begin{center} +\vspace{12pt} +\textcolor{blue}{\huge Advanced features of Functions} +\end{center} +\vspace{18pt} +\begin{center} +\vspace{10pt} +\includegraphics[scale=0.95]{../images/fossee-logo.png}\\ +\vspace{5pt} +\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\ +\scriptsize Funded by National Mission on Education through ICT\\ +\scriptsize MHRD,Govt. of India\\ +\includegraphics[scale=0.30]{../images/iitb-logo.png}\\ +\end{center} +#+end_latex +* Objectives + At the end of this tutorial, you will be able to, + + - Assign default values to arguments, when defining functions. + - Define and call functions with keyword arguments. + - Learn some of the built-in functions available in Python standard + library and the scientific computing libraries. +* Pre-requisite +Spoken tutorial on - +- Getting started with functions +* Functions +#+begin_src Python +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 +#+end_src +* Exercise 1 + - Redefine the function ~welcome~, by interchanging it's + arguments. + Place the ~name~ argument with it's default value of "World" before the ~greet~ argument. * Solution 1 #+begin_src python def welcome(name="World", greet): print greet, name #+end_src - We get an error that reads ~SyntaxError: non-default argument - follows default argument~. When defining a function all the + 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. -* Question 2 - See the definition of linspace using ~?~ and observe how all the +* Exercise 2 + - See the definition of linspace using ~?~ and make a note of all the arguments with default values are towards the end. -* Solution 2 - #+begin_src python - linspace? - #+end_src -* Question 3 - Redefine the function ~welcome~ with a default value of - "Hello" to the ~greet~ argument. Then, call the function without any - arguments. -* Solution 3 - #+begin_src python - def welcome(greet="Hello", name="World"): - print greet, name - - welcome() - #+end_src +* Exercise 3 + - Redefine the function ~welcome~ with a default value of + "Hello" to the ~greet~ argument. + Then, call the function without any arguments. +* Keyword arguments examples +#+begin_src Python +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()) +#+end_src +* Built-in functions +#+begin_src Python + Math functions - abs, sin, .... + + Plot functions - plot, bar, pie ... + + Boolean functions - and, or, not ... +#+end_src +* Classes of functions +#+begin_src Python +- pylab + - plot, bar, contour, boxplot, errorbar, log, polar, quiver, semilog + +- scipy (modules) + - fftpack, stats, linalg, ndimage, signal, optimize, integrate +#+end_src * Summary - You should now be able to -- - + define functions with default arguments - + call functions using keyword arguments -* Thank you! + In this tutorial, we have learnt to, + + - Define functions with default arguments. + - Call functions using keyword arguments. + - Use the range of functions available in the Python standard library + and the Scientific Computing related packages. + +* Evaluation +1. All arguments of a function cannot have default values. + - True or False? + +2. The following is a valid function definition. True or False? +#+begin_src Python +def seperator(count=40, char, show=False): + if show: + print char * count + return char * count +#+end_src +3. When calling a function, + + - the arguments should always be in the order in which they are defined. + - only keyword arguments can be in any order, but should be called + at the beginning. + - only keyword arguments can be in any order, but should be called + at the end. +* Solutions +1. False + +2. False + +3. only keyword arguments can be in any order, + but should be called at the end +* #+begin_latex \begin{block}{} \begin{center} - This spoken tutorial has been produced by the - \textcolor{blue}{FOSSEE} team, which is funded by the + \textcolor{blue}{\Large THANK YOU!} \end{center} + \end{block} +\begin{block}{} \begin{center} - \textcolor{blue}{National Mission on Education through \\ - Information \& Communication Technology \\ - MHRD, Govt. of India}. + For more Information, visit our website\\ + \url{http://fossee.in/} \end{center} \end{block} #+end_latex - |