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.tex | |
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.tex')
-rw-r--r-- | advanced_features_of_functions/slides.tex | 231 |
1 files changed, 180 insertions, 51 deletions
diff --git a/advanced_features_of_functions/slides.tex b/advanced_features_of_functions/slides.tex index 9e1d66f..ea41b95 100644 --- a/advanced_features_of_functions/slides.tex +++ b/advanced_features_of_functions/slides.tex @@ -1,4 +1,4 @@ -% Created 2010-10-28 Thu 11:37 +% Created 2011-07-12 Tue 11:20 \documentclass[presentation]{beamer} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} @@ -8,7 +8,6 @@ \usepackage{float} \usepackage{wrapfig} \usepackage{soul} -\usepackage{t1enc} \usepackage{textcomp} \usepackage{marvosym} \usepackage{wasysym} @@ -24,14 +23,13 @@ commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen}, showstringspaces=false, keywordstyle=\color{blue}\bfseries} \providecommand{\alert}[1]{\textbf{#1}} -\title{Advanced features of functions} +\title{} \author{FOSSEE} \date{} \usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent} \begin{document} -\maketitle @@ -41,94 +39,225 @@ showstringspaces=false, keywordstyle=\color{blue}\bfseries} + +\begin{frame} + +\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{frame} \begin{frame} -\frametitle{Outline} -\label{sec-1} +\frametitle{Objectives} +\label{sec-2} + + At the end of this tutorial, you will be able to, + \begin{itemize} -\item Assigning default values to arguments -\item Calling functions using Keyword arguments -\item functions in standard library +\item Assign default values to arguments, when defining functions. +\item Define and call functions with keyword arguments. +\item Learn some of the built-in functions available in Python standard + library and the scientific computing libraries. \end{itemize} \end{frame} \begin{frame} -\frametitle{Question 1} -\label{sec-2} +\frametitle{Pre-requisite} +\label{sec-3} + +Spoken tutorial on - + +\begin{itemize} +\item Getting started with functions +\end{itemize} +\end{frame} +\begin{frame}[fragile] +\frametitle{Functions} +\label{sec-4} - Redefine the function \texttt{welcome}, by interchanging it's - arguments. Place the \texttt{name} argument with it's default value of - ``World'' before the \texttt{greet} argument. +\lstset{language=Python} +\begin{lstlisting} +s.strip() #strips on spaces. +s.strip('@') #strips the string of '@' symbols. + +plot(x, y) #plots x v/s y using default line style. +plot(x, y, 'o') #plots x v/s y with circle markers. + +linspace(0,2*pi,100) #returns 100 pts. between 0 & 2pi +linspace(0,2*pi) #returns 50 pts. between 0 & 2pi +\end{lstlisting} +\end{frame} +\begin{frame} +\frametitle{Exercise 1} +\label{sec-5} + + +\begin{itemize} +\item Redefine the function \verb~welcome~, by interchanging it's + arguments. +\vspace{3pt} + Place the \verb~name~ argument with it's default value of + ``World'' before the \verb~greet~ argument. +\end{itemize} \end{frame} \begin{frame}[fragile] \frametitle{Solution 1} -\label{sec-3} +\label{sec-6} -\begin{verbatim} +\lstset{language=Python} +\begin{lstlisting} def welcome(name="World", greet): print greet, name -\end{verbatim} - We get an error that reads \texttt{SyntaxError: non-default argument follows default argument}. When defining a function all the +\end{lstlisting} +\vspace{5pt} + We get an error that reads, \\ \verb~SyntaxError: non-default argument follows default~ +\verb~argument~. +\vspace{5pt} +\\ When defining a function all the argument with default values should come at the end. \end{frame} \begin{frame} -\frametitle{Question 2} -\label{sec-4} +\frametitle{Exercise 2} +\label{sec-7} + - See the definition of linspace using \texttt{?} and observe how all the +\begin{itemize} +\item See the definition of linspace using \verb~?~ and make a note of all the arguments with default values are towards the end. +\end{itemize} +\end{frame} +\begin{frame} +\frametitle{Exercise 3} +\label{sec-8} + + +\begin{itemize} +\item Redefine the function \verb~welcome~ with a default value of + ``Hello'' to the \verb~greet~ argument.\\ + Then, call the function without any arguments. +\end{itemize} \end{frame} \begin{frame}[fragile] -\frametitle{Solution 2} -\label{sec-5} +\frametitle{Keyword arguments examples} +\label{sec-9} + +\lstset{language=Python} +\begin{lstlisting} +legend(['sin(2y)'], loc = 'center') + +plot(y, sin(y), 'g', linewidth = 2) + +annotate('local max', xy = (1.5, 1)) -\begin{verbatim} -linspace? -\end{verbatim} +pie(science.values(), labels = science.keys()) +\end{lstlisting} \end{frame} -\begin{frame} -\frametitle{Question 3} -\label{sec-6} +\begin{frame}[fragile] +\frametitle{Built-in functions} +\label{sec-10} - Redefine the function \texttt{welcome} with a default value of - ``Hello'' to the \texttt{greet} argument. Then, call the function without any - arguments. +\lstset{language=Python} +\begin{lstlisting} +Math functions - abs, sin, .... + +Plot functions - plot, bar, pie ... + +Boolean functions - and, or, not ... +\end{lstlisting} \end{frame} \begin{frame}[fragile] -\frametitle{Solution 3} -\label{sec-7} +\frametitle{Classes of functions} +\label{sec-11} -\begin{verbatim} -def welcome(greet="Hello", name="World"): - print greet, name +\lstset{language=Python} +\begin{lstlisting} +- pylab + - plot, bar, contour, boxplot, errorbar, log, polar, + quiver, semilog -welcome() -\end{verbatim} +- scipy (modules) + - fftpack, stats, linalg, ndimage, signal, optimize, + integrate +\end{lstlisting} \end{frame} \begin{frame} \frametitle{Summary} -\label{sec-8} +\label{sec-12} + + In this tutorial, we have learnt to, + + +\begin{itemize} +\item Define functions with default arguments. +\item Call functions using keyword arguments. +\item Use the range of functions available in the Python standard library + and the Scientific Computing related packages. +\end{itemize} +\end{frame} +\begin{frame}[fragile] +\frametitle{Evaluation} +\label{sec-13} + - You should now be able to -- +\begin{enumerate} +\item All arguments of a function cannot have default values. + True or False? +\vspace{3pt} +\item The following is a valid function definition. True or False? +\lstset{language=Python} +\begin{lstlisting} +def seperator(count=40, char, show=False): + if show: + print char * count + return char * count +\end{lstlisting} +\vspace{3pt} +\item When calling a function, \begin{itemize} -\item define functions with default arguments -\item call functions using keyword arguments +\item the arguments should always be in the order in which they are defined. +\item only keyword arguments can be in any order, but should be called + at the beginning. +\item only keyword arguments can be in any order, but should be called at the end. \end{itemize} +\end{enumerate} +\end{frame} +\begin{frame} +\frametitle{Solutions} +\label{sec-14} + + +\begin{enumerate} +\item False +\vspace{12pt} +\item False +\vspace{12pt} +\item Only keyword arguments can be in any order, + but should be called at the end. +\end{enumerate} \end{frame} \begin{frame} -\frametitle{Thank you!} -\label{sec-9} \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{frame} -\end{document} +\end{document}
\ No newline at end of file |