day1/session5.tex
changeset 223 081600805dde
parent 222 ffa8f417d761
child 224 668f88f20218
equal deleted inserted replaced
222:ffa8f417d761 223:081600805dde
   139            l, t = line.split()
   139            l, t = line.split()
   140            L.append(float(l))
   140            L.append(float(l))
   141            T.append(float(t))
   141            T.append(float(t))
   142 In []: L = array(L)
   142 In []: L = array(L)
   143 In []: T = array(T)
   143 In []: T = array(T)
   144 In []: Tsq = T*T
       
   145 \end{lstlisting}
   144 \end{lstlisting}
   146 \end{frame}
   145 \end{frame}
   147 
   146 
   148 %% \begin{frame}[fragile]
   147 %% \begin{frame}[fragile]
   149 %% \frametitle{Interpolation \ldots}
   148 %% \frametitle{Interpolation \ldots}
   298            return sin(x)+x**2
   297            return sin(x)+x**2
   299 In []: quad(f, 0, 1)
   298 In []: quad(f, 0, 1)
   300 \end{lstlisting}
   299 \end{lstlisting}
   301 \begin{itemize}
   300 \begin{itemize}
   302 \item \typ{def}
   301 \item \typ{def}
       
   302 \item name
   303 \item arguments
   303 \item arguments
   304 \item \typ{return}
   304 \item \typ{return}
   305 \end{itemize}
   305 \end{itemize}
   306 \end{frame}
   306 \end{frame}
   307 
   307 
   317 In []: f(0)
   317 In []: f(0)
   318 Out[]: 0.0
   318 Out[]: 0.0
   319 In []: f(1)
   319 In []: f(1)
   320 Out[]: 1.8414709848078965
   320 Out[]: 1.8414709848078965
   321 \end{lstlisting}
   321 \end{lstlisting}
   322 \end{frame}
   322 More on Functions later \ldots
   323 
       
   324 
       
   325 \begin{frame}[fragile]
       
   326 \frametitle{Functions - Default Arguments}
       
   327 \begin{lstlisting}
       
   328 In []: def f(x=1):
       
   329            return sin(x)+x**2
       
   330 In []: f(10)
       
   331 Out[]: 99.455978889110625
       
   332 In []: f(1)
       
   333 Out[]: 1.8414709848078965
       
   334 In []: f()
       
   335 Out[]: 1.8414709848078965
       
   336 \end{lstlisting}
       
   337 \end{frame}
       
   338 
       
   339 \begin{frame}[fragile]
       
   340 \frametitle{Functions - Keyword Arguments}
       
   341 \begin{lstlisting}
       
   342 In []: def f(x=1, y=pi):
       
   343            return sin(y)+x**2
       
   344 In []: f()
       
   345 Out[]: 1.0000000000000002
       
   346 In []: f(2)
       
   347 Out[]: 4.0
       
   348 In []: f(y=2)
       
   349 Out[]: 1.9092974268256817
       
   350 In []: f(y=pi/2,x=0)
       
   351 Out[]: 1.0
       
   352 \end{lstlisting}
       
   353 \end{frame}
       
   354 
       
   355 \begin{frame}[fragile]
       
   356   \frametitle{More on functions}
       
   357   \begin{itemize}
       
   358   \item Scope of variables in the function is local
       
   359   \item Mutable items are \alert{passed by reference}
       
   360   \item First line after definition may be a documentation string
       
   361     (\alert{recommended!})
       
   362   \item Function definition and execution defines a name bound to the
       
   363     function
       
   364   \item You \emph{can} assign a variable to a function!
       
   365   \end{itemize}
       
   366 \end{frame}
   323 \end{frame}
   367 
   324 
   368 \begin{frame}[fragile]
   325 \begin{frame}[fragile]
   369 \frametitle{Quadrature \ldots}
   326 \frametitle{Quadrature \ldots}
   370 \begin{lstlisting}
   327 \begin{lstlisting}
   390     \item Keyword Arguments
   347     \item Keyword Arguments
   391     \end{itemize}
   348     \end{itemize}
   392   \item Quadrature
   349   \item Quadrature
   393   \end{itemize}
   350   \end{itemize}
   394 \end{frame}
   351 \end{frame}
       
   352 
   395 \end{document}
   353 \end{document}
   396 
   354