#+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