summaryrefslogtreecommitdiff
path: root/advanced_features_of_functions/slides.tex
diff options
context:
space:
mode:
authorJovina2011-07-12 12:14:01 +0530
committerJovina2011-07-12 12:14:01 +0530
commitbc1bdc9be493bada965904f7c6235aa09a082b18 (patch)
treedcd325b197e858b9f8631b58962fa7e94ed24478 /advanced_features_of_functions/slides.tex
parent22aae6a95dd1b330536057b051434efb2a7fbc5d (diff)
downloadst-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.tex231
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