summaryrefslogtreecommitdiff
path: root/advanced-features-functions/slides.tex
blob: 311be4f4bbac26bd1aefa90c7a3f55dc2f699101 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
% Created 2010-10-11 Mon 00:34
\documentclass[presentation]{beamer}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fixltx2e}
\usepackage{graphicx}
\usepackage{longtable}
\usepackage{float}
\usepackage{wrapfig}
\usepackage{soul}
\usepackage{textcomp}
\usepackage{marvosym}
\usepackage{wasysym}
\usepackage{latexsym}
\usepackage{amssymb}
\usepackage{hyperref}
\tolerance=1000
\usepackage[english]{babel} \usepackage{ae,aecompl}
\usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet}
\usepackage{listings}
\lstset{language=Python, basicstyle=\ttfamily\bfseries,
commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen},
showstringspaces=false, keywordstyle=\color{blue}\bfseries}
\providecommand{\alert}[1]{\textbf{#1}}

\title{Advanced features of functions}
\author{FOSSEE}
\date{}

\usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent}
\begin{document}

\maketitle









\begin{frame}
\frametitle{Outline}
\label{sec-1}

\begin{itemize}
\item Assigning default values to arguments
\item Calling functions using Keyword arguments
\item functions in standard library
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Question 1}
\label{sec-2}

  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.
\end{frame}
\begin{frame}[fragile]
\frametitle{Solution 1}
\label{sec-3}

\lstset{language=Python}
\begin{lstlisting}
def welcome(name="World", greet):
    print greet, name
\end{lstlisting}
  We get an error that reads \texttt{SyntaxError: non-default argument   follows default argument}. 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}

  See the definition of linspace using \texttt{?} and observe how all the
  arguments with default values are towards the end.
\end{frame}
\begin{frame}[fragile]
\frametitle{Solution 2}
\label{sec-5}

\lstset{language=Python}
\begin{lstlisting}
linspace?
\end{lstlisting}
\end{frame}
\begin{frame}
\frametitle{Question 3}
\label{sec-6}

  Redefine the function \texttt{welcome} with a default value of
  ``Hello'' to the \texttt{greet} argument. Then, call the function without any
  arguments. 
\end{frame}
\begin{frame}[fragile]
\frametitle{Solution 3}
\label{sec-7}

\lstset{language=Python}
\begin{lstlisting}
def welcome(greet="Hello", name="World"):
    print greet, name

welcome()
\end{lstlisting}
\end{frame}
\begin{frame}
\frametitle{Summary}
\label{sec-8}

  You should now be able to --
\begin{itemize}
\item define functions with default arguments
\item call functions using keyword arguments
\end{itemize}
\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 
  \end{center}
  \begin{center}
    \textcolor{blue}{National Mission on Education through \\
      Information \& Communication Technology \\ 
      MHRD, Govt. of India}.
  \end{center}  
  \end{block}
\end{frame}

\end{document}