#+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: #+AUTHOR: FOSSEE #+EMAIL: info@fossee.in #+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 * #+begin_latex \begin{center} \vspace{12pt} \textcolor{blue}{\huge Getting started with \texttt{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_latex * Objectives At the end of this tutorial, you will be able to, - Define a function. - Define functions with arguments. - Learn about docstrings. - Learn about function return value. - Read and understand code. * Pre-requisite Spoken tutorial on - - Conditionals. - Loops. * Function - Eliminate code redundancy - Help in code reuse - Subroutine - relatively independent of remaining code * Define ~f(x)~ in Python #+begin_src python def f(x): return x*x #+end_src - ~def~ - keyword - ~f~ - function name - ~x~ - parameter / argument to function ~f~ * Exercise 1 - Write a python function named ~cube~ which computes the cube of a given number ~n~. * Exercise 2 - Write a python function named ~avg~ which computes the average of ~a~ and ~b~. * Docstring - Documenting/commenting code is a good practice #+begin_src python def avg(a,b): """ avg takes two numbers as input (a & b), and returns the average of a and b""" return (a+b)/2 #+end_src - Docstring - written in the line after the ~def~ line. - Inside triple quote. - Documentation : avg? * Exercise 3 - Add docstring to the function f. * Solution 3 #+begin_src Python def f(x): """Accepts a number x as argument and, returns the square of the number x.""" return x*x #+end_src * Exercise 4 - Write a python function named ~circle~ which returns the area and perimeter of a circle given radius ~r~. * ~what~ #+begin_src python def what( n ): if n < 0: n = -n while n > 0: if n % 2 == 1: return False n /= 10 return True #+end_src * ~even\_digits~ #+begin_src python def even_digits( n ): """returns True if all the digits of number n is even returns False if all the digits of number n is not even""" if n < 0: n = -n while n > 0: if n % 2 == 1: return False n /= 10 return True #+end_src * ~what~ #+begin_src python def what( n ): i = 1 while i * i < n: i += 1 return i * i == n, i #+end_src * ~is\_perfect\_square~ #+begin_src python def is_perfect_square( n ): """returns True and square root of n, if n is a perfect square, otherwise returns False and the square root of the next perfect square""" i = 1 while i * i < n: i += 1 return i * i == n, i #+end_src * Summary In this tutorial, we have learnt to, - Define functions in Python by using the keyword ``def''. - Call the function by specifying the function name. - Assign a docstring to a function by putting it as a triple quoted string. - Pass parameters to a function. - Return values from a function. * Evaluation 1. What will the function do? #+begin_src Python def what(x) return x*x #+end_src - Returns the square of x - Returns x - Function doesn't have docstring - Error 2. How many arguments can be passed to a python function? - None - One - Two - Any 3. Write a function which calculates the area of a rectangle. * Solutions 1. Error 2. Any 3. #+begin_src Python def area(l,b): return l * b #+end_src * #+begin_latex \begin{block}{} \begin{center} \textcolor{blue}{\Large THANK YOU!} \end{center} \end{block} \begin{block}{} \begin{center} For more Information, visit our website\\ \url{http://fossee.in/} \end{center} \end{block} #+end_latex