% Created 2010-10-12 Tue 17:12 \documentclass[presentation]{beamer} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage{fixltx2e} \usepackage{graphicx} \usepackage{longtable} \usepackage{float} \usepackage{wrapfig} \usepackage{soul} \usepackage{t1enc} \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{Using python modules} \author{FOSSEE} \date{} \usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent} \begin{document} \maketitle \begin{frame} \frametitle{Outline} \label{sec-1} \begin{itemize} \item Running python scripts from command line \item Importing python modules \item Importing scipy \& pylab modules \item About python standard library. \end{itemize} \end{frame} \begin{frame}[fragile] \frametitle{Running Python script from command line} \label{sec-2} \begin{itemize} \item Create a script, open text editor and type the following \begin{verbatim} print "hello world!" print \end{verbatim} \item Save the script as \texttt{hello.py} \end{itemize} \end{frame} \begin{frame}[fragile] \frametitle{Running Python script from command line (cont'd)} \label{sec-3} \begin{itemize} \item Run the script \begin{verbatim} $ python hello.py \end{verbatim} \end{itemize} \emph{Syntax :} \textbf{python filename} \end{frame} \begin{frame} \frametitle{Four plot problem} \label{sec-4} \begin{center} \includegraphics[scale=0.4]{four_plot} \end{center} \end{frame} \begin{frame}[fragile] \frametitle{Fix \texttt{linspace()} problem} \label{sec-5} \begin{verbatim} from scipy import * \end{verbatim} \end{frame} \begin{frame}[fragile] \frametitle{Fix \texttt{plot()} problem} \label{sec-6} \begin{verbatim} from pylab import * \end{verbatim} \end{frame} \begin{frame}[fragile] \frametitle{Better way of fixing} \label{sec-7} \begin{verbatim} from scipy import linspace \end{verbatim} instead of \begin{verbatim} from scipy import * \end{verbatim} \texttt{*} means import all functions from name-space \texttt{scipy}. \end{frame} \begin{frame}[fragile] \frametitle{Instead of \texttt{*}} \label{sec-8} \begin{verbatim} from scipy import linspace, pi, sin from pylab import plot, legend, annotate from pylab import xlim, ylim, title, show \end{verbatim} Is better than, \texttt{from scipy import *} \& \texttt{from pylab import *}. \end{frame} \begin{frame}[fragile] \frametitle{Another Fix} \label{sec-9} \begin{verbatim} import scipy import pylab x = scipy.linspace(-5*scipy.pi, 5*scipy.pi, 500) pylab.plot(x, x, 'b') pylab.plot(x, -x, 'b') pylab.plot(x, scipy.sin(x), 'g', linewidth=2) pylab.plot(x, x*scipy.sin(x), 'r', linewidth=3) pylab.legend(['x', '-x', 'sin(x)', 'xsin(x)']) pylab.annotate('origin', xy = (0, 0)) pylab.xlim(-5*scipy.pi, 5*scipy.pi) pylab.ylim(-5*scipy.pi, 5*scipy.pi) \end{verbatim} \end{frame} \begin{frame} \frametitle{Exercise 1} \label{sec-10} Write a python script to plot a sine wave from $-2\Pi$ to $2\Pi$ . \end{frame} \begin{frame} \frametitle{What is a module?} \label{sec-11} Module is simply a file containing Python definitions and statements. Definitions from a module can be imported into other modules or into the main module. \end{frame} \begin{frame} \frametitle{Python standard library} \label{sec-12} Python has a very rich standard library of modules. \begin{itemize} \item Few libraries \begin{itemize} \item Math: \texttt{math}, \texttt{random} \item Internet access: \texttt{urllib2}, \texttt{smtplib} \item System, Command line arguments: \texttt{sys} \item Operating system interface: \texttt{os} \item regular expressions: \texttt{re} \item compression: \texttt{gzip}, \texttt{zipfile}, \texttt{tarfile} \end{itemize} \item More information \begin{itemize} \item \href{http://docs.python.org/library}{http://docs.python.org/library} \end{itemize} \end{itemize} \end{frame} \begin{frame} \frametitle{Summary} \label{sec-13} \begin{itemize} \item Running scripts from command line \item Learned about modules \begin{itemize} \item importing modules \end{itemize} \item Python standard library \end{itemize} \end{frame} \begin{frame} \frametitle{Thank you!} \label{sec-14} \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}