--- a/day2/cheatsheet3.tex Tue Dec 08 12:40:07 2009 +0530
+++ b/day2/cheatsheet3.tex Tue Dec 08 13:06:14 2009 +0530
@@ -26,16 +26,18 @@
\large{FOSSEE}
\end{center}
\section{Function}
-They allows us to enclose a set of statements and call the function again and again instead of repeating the group of statements every-time.
+They allows us to enclose a set of statements and call them again and again instead of repeating the group of statements every-time.
\subsection{Function definition}
\begin{lstlisting}
-def signum( r ):
- if r < 0:
- return -1
- elif r > 0:
- return 1
- else:
- return 0
+In []: def signum(r):
+ ...: if r < 0:
+ ...: return -1
+ ...: elif r > 0:
+ ...: return 1
+ ...: else:
+ ...: return 0
+ ...:
+ ...:
\end{lstlisting}
%\typ{def} is a keyword, which is used to define a function with given name.
\subsection{Usage}
@@ -48,7 +50,7 @@
Out[]: -1
In []: signum() # ERROR signum() takes exactly 1 argument(0 given)
\end{lstlisting}
-\textbf{Note:} Arguments passed to a function are passed by-value \textbf{only if} they are basic Python data type(int, float). In case one pass immutable types(String, tupels), they cant be modified in the function, but objects like \typ{list} and dictionary can be manipulated.
+\textbf{Note:} Arguments passed to a function are passed by-value \textbf{only if} they are basic Python data type(int, float). In case one passes immutable types(String, tupels), they cant be modified in the function, but objects like \typ{list} and dictionary can be manipulated.
\subsection{Default Arguments}
This feature allow the functions to take the arguments optionally. For example:
\begin{lstlisting}
@@ -57,7 +59,7 @@
In []: greet.split()
Out[]: ['hello', 'world']
\end{lstlisting}
-In above case, default argument which \typ{split} function uses is a blank space. One can pass argument also, to split the string for a different delimiter.
+In above case, default argument which \typ{split} function uses is a blank space. One can pass argument also to split the string for a different delimiter.
\begin{lstlisting}
In []: line = 'Rossum, Guido, 54, 46, 55'
@@ -98,6 +100,7 @@
In [15]: wish(name='vattam', greetings = 'get lost')
get lost vattam
\end{lstlisting}
+% sorry Vattam just a joke :P
\section{Self contained python script}
Functions like \typ{plot}, \typ{linspace} etc are not inbuilt functions. One have to import them to use them.
\begin{lstlisting}
@@ -115,20 +118,19 @@
xlim(-5*pi, 5*pi)
ylim(-5*pi, 5*pi)
\end{lstlisting}
-Above mentioned code will work with following setup:
+These import statements are necessary to make program self contained. After importing, we can run script via:\\
+\typ{$ python sine_plot.py} \\ %$
+We no longer need:
\begin{lstlisting}
$ ipython -pylab
In []: %run -i sine_plot.py
\end{lstlisting} %$
-as we are already including \typ{pylab} into \typ{ipython}. But to make it work independently so that even\\
-\typ{$ python sine_plot.py} \\ %$
-works, one will have to use \typ{import} statements.\\
\section{objects}
In Python everything is a object! All variables, lists, tuples, dictionaries and even functions are objects.
\begin{lstlisting}
-In []: a = str()
+In []: a = str() # initializing a string object.
In []: b = "Hello World"
-In []: b.split()
+In []: b.split() # calling funciton on object 'b'
Out[]: ['Hello', 'World']
\end{lstlisting}
``.'' is a operator used to call functions defined for given object.