diff -r 88a01948450d -r d33698326409 advanced_features_of_functions/slides.org --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/advanced_features_of_functions/slides.org Wed Dec 01 16:51:35 2010 +0530 @@ -0,0 +1,86 @@ +#+LaTeX_CLASS: beamer +#+LaTeX_CLASS_OPTIONS: [presentation] +#+BEAMER_FRAME_LEVEL: 1 + +#+BEAMER_HEADER_EXTRA: \usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent} +#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra) +#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 :ETC + +#+LaTeX_CLASS: beamer +#+LaTeX_CLASS_OPTIONS: [presentation] + +#+LaTeX_HEADER: \usepackage[english]{babel} \usepackage{ae,aecompl} +#+LaTeX_HEADER: \usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet} + +#+LaTeX_HEADER: \usepackage{listings} + +#+LaTeX_HEADER:\lstset{language=Python, basicstyle=\ttfamily\bfseries, +#+LaTeX_HEADER: commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen}, +#+LaTeX_HEADER: showstringspaces=false, keywordstyle=\color{blue}\bfseries} + +#+TITLE: Advanced features of functions +#+AUTHOR: FOSSEE +#+EMAIL: +#+DATE: + +#+DESCRIPTION: +#+KEYWORDS: +#+LANGUAGE: en +#+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 + "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 + argument with default values should come at the end. + +* Question 2 + See the definition of linspace using ~?~ and observe how 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 +* Summary + You should now be able to -- + + define functions with default arguments + + call functions using keyword arguments +* Thank you! +#+begin_latex + \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_latex + +