summaryrefslogtreecommitdiff
path: root/using python modules
diff options
context:
space:
mode:
authorAnoop Jacob Thomas2010-10-12 17:15:11 +0530
committerAnoop Jacob Thomas2010-10-12 17:15:11 +0530
commit7053b6187cd170b386b3de2e458208759f55ebc3 (patch)
tree2dae197a8fd990ba0a3deafcd9f0d2c8e2bc451b /using python modules
parent72d9d573b23f9d1390427a56e7fa85dba3c817f8 (diff)
downloadst-scripts-7053b6187cd170b386b3de2e458208759f55ebc3.tar.gz
st-scripts-7053b6187cd170b386b3de2e458208759f55ebc3.tar.bz2
st-scripts-7053b6187cd170b386b3de2e458208759f55ebc3.zip
added slides for using python modules.
Diffstat (limited to 'using python modules')
-rw-r--r--using python modules/script.rst43
-rw-r--r--using python modules/slides.org125
-rw-r--r--using python modules/slides.tex227
3 files changed, 378 insertions, 17 deletions
diff --git a/using python modules/script.rst b/using python modules/script.rst
index aa00863..5155d37 100644
--- a/using python modules/script.rst
+++ b/using python modules/script.rst
@@ -17,7 +17,8 @@ Welcome to the spoken tutorial on using python modules.
{{{ switch to next slide, outline slide }}}
In this tutorial, we will see how to run python scripts from command
-line, importing modules, importing scipy and pylab modules.
+line, importing modules, importing scipy and pylab modules. And also
+see the Python standard library.
{{{ switch to next slide on executing python scripts from command line }}}
@@ -48,6 +49,8 @@ terminal and navigate to the directory where hello.py is,
{{{ open terminal and navigate to directory where hello.py was saved }}}
+{{{ switch to next slide }}}
+
now run the Python script as,
::
@@ -59,6 +62,8 @@ It executed the script and we got the output ``Hello World!``.
The syntax is python space filename.
+{{{ switch to next slide, four plot problem }}}
+
Now recall the four plot problem where we plotted four plots in a single
figure. Let us run that script from command line.
@@ -87,6 +92,8 @@ starts. And thus we don't have to explicitly import modules.
So now let us try to fix the problem and run the script in command
line,
+{{{ switch to next slide, fix ``linspace`` problem }}}
+
add the following line as the first line in the script,
{{{ add the line as first line in four_plot.py and save }}}
::
@@ -100,6 +107,9 @@ Now let us run the script again,
Now it gave another error plot not defined, let us edit the file again
and add the line below the line we just added,
+
+{{{ switch to next slide, fix ``plot`` problem }}}
+
{{{ add the line as second line in four_plot.py and save }}}
::
@@ -115,6 +125,8 @@ Yes! it worked. So what did we do?
We actually imported the required modules using the keyword ``import``.
It could have also be done as,
+{{{ switch to next slide, better way of fixing }}}
+
{{{ highlight the following in slide and say it loud }}}
::
@@ -130,29 +142,26 @@ asterisk or star. As if we use asterisk to import from a particular
module then it will replace any existing functions with the same name
in our name-space.
+{{{ switch to next slide, Instead of ``*`` }}}
+
So let us modify four_plot.py as,
{{{ delete the first two lines and add the following }}}
::
from scipy import linspace, pi, sin
- from pylab import plot, legend, annotate, title, show
- from pylab import xlim, ylim
+ from pylab import plot, legend, annotate
+ from pylab import xlim, ylim, title, show
-{{{ switch to next slide }}}
-it could also be done as,
+Now let us try running the code again as,
+::
-.. 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)
+ python four_plot.py
+
+It works! In this method we actually imported the functions to the
+current name-space, and there is another method of doing it. And that
+is,
+{{{ switch to next slide }}}
Notice that we use ``scipy.pi`` instead of just ``pi`` as in the
previous method, and the functions are called as ``pylab.plot()`` and
@@ -211,7 +220,7 @@ Find more information at Python Library reference,
The modules pylab, scipy, Mayavi are not part of the standard python
library.
-{{{ switch to next slide, recap }}}
+{{{ switch to next slide, summary }}}
This brings us to the end of this tutorial, in this tutorial we
learned running scripts from command line, learned about modules, saw
diff --git a/using python modules/slides.org b/using python modules/slides.org
new file mode 100644
index 0000000..46f6dc9
--- /dev/null
+++ b/using python modules/slides.org
@@ -0,0 +1,125 @@
+#+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: Using python modules
+#+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
+ - Running python scripts from command line
+ - Importing python modules
+ - Importing scipy \& pylab modules
+ - About python standard library.
+* Running Python script from command line
+ - Create a script, open text editor and type the following
+ : print "hello world!"
+ : print
+ - Save the script as ~hello.py~
+* Running Python script from command line (cont'd)
+ - Run the script
+ : $ python hello.py
+ /Syntax :/ *python filename*
+* Four plot problem
+ #+begin_latex
+ \begin{center}
+ \includegraphics[scale=0.4]{four_plot}
+ \end{center}
+ #+end_latex
+* Fix ~linspace()~ problem
+ : from scipy import *
+* Fix ~plot()~ problem
+ : from pylab import *
+* Better way of fixing
+ : from scipy import linspace
+ instead of
+ : from scipy import *
+ ~*~ means import all functions from name-space ~scipy~.
+* Instead of ~*~
+ : from scipy import linspace, pi, sin
+ : from pylab import plot, legend, annotate
+ : from pylab import xlim, ylim, title, show
+ Is better than, ~from scipy import *~ \& ~from pylab import *~.
+* Another Fix
+ #+begin_src python
+ 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_src
+* Exercise 1
+ Write a python script to plot a sine wave from
+ #+begin_latex
+ $-2\Pi$
+ #+end_latex
+ to
+ #+begin_latex
+ $2\Pi$
+ #+end_latex
+ .
+* What is a module?
+ 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.
+* Python standard library
+ Python has a very rich standard library of modules.
+ - Few libraries
+ - Math: ~math~, ~random~
+ - Internet access: ~urllib2~, ~smtplib~
+ - System, Command line arguments: ~sys~
+ - Operating system interface: ~os~
+ - regular expressions: ~re~
+ - compression: ~gzip~, ~zipfile~, ~tarfile~
+ - More information
+ - [[http://docs.python.org/library]]
+* Summary
+ - Running scripts from command line
+ - Learned about modules
+ - importing modules
+ - Python standard library
+* 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
+
+
diff --git a/using python modules/slides.tex b/using python modules/slides.tex
new file mode 100644
index 0000000..08c954b
--- /dev/null
+++ b/using python modules/slides.tex
@@ -0,0 +1,227 @@
+% 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}