{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "* [__An introduction to the IPython notebook__](py01v01_ipython_notebook_introduction.ipynb)\n", " * [1 Before starting...](py01v01_ipython_notebook_introduction.ipynb#1-Before-starting...)\n", " * [2 User interface](py01v01_ipython_notebook_introduction.ipynb#2-User-interface)\n", " * [2.1 Main editing area](py01v01_ipython_notebook_introduction.ipynb#2.1-Main-editing-area)\n", " * [2.2 Menu](py01v01_ipython_notebook_introduction.ipynb#2.2-Menu)\n", " * [2.3 Header bar](py01v01_ipython_notebook_introduction.ipynb#2.3-Header-bar)\n", " * [2.4 The pager at the bottom](py01v01_ipython_notebook_introduction.ipynb#2.4-The-pager-at-the-bottom)\n", " * [3 Tab completion and tooltips](py01v01_ipython_notebook_introduction.ipynb#3-Tab-completion-and-tooltips)\n", " * [4 Plotting support](py01v01_ipython_notebook_introduction.ipynb#4-Plotting-support)\n", " * [5 Interactive Widgets](py01v01_ipython_notebook_introduction.ipynb#5-Interactive-Widgets)\n", " * [5.1 Plot controlled by Widgets](py01v01_ipython_notebook_introduction.ipynb#5.1-Plot-controlled-by-Widgets)\n", " * [5.2 Factorization Example using Interactive Widgets and SimPy](py01v01_ipython_notebook_introduction.ipynb#5.2-Factorization-Example-using-Interactive-Widgets-and-SimPy)\n", " * [6 Markdown cells can contain formatted text and code](py01v01_ipython_notebook_introduction.ipynb#6-Markdown-cells-can-contain-formatted-text-and-code)\n", " * [7 Rich display: include anything a browser can show](py01v01_ipython_notebook_introduction.ipynb#7-Rich-display:-include-anything-a-browser-can-show)\n", " * [7.1 Videos](py01v01_ipython_notebook_introduction.ipynb#7.1-Videos)\n", " * [7.2 Cloud Data Analysis and Graphing Tools](py01v01_ipython_notebook_introduction.ipynb#7.2-Cloud-Data-Analysis-and-Graphing-Tools)\n", " * [7.3 External Websites](py01v01_ipython_notebook_introduction.ipynb#7.3-External-Websites)\n", " * [8 Loading external codes](py01v01_ipython_notebook_introduction.ipynb#8-Loading-external-codes)\n", "* [__Python Basic Concepts__](py02v01_python_basics.ipynb)\n", " * [1 Why Python?](py02v01_python_basics.ipynb#1-Why-Python?)\n", " * [2 Python101](py02v01_python_basics.ipynb#2-Python101)\n", " * [2.1 Two important language features:](py02v01_python_basics.ipynb#2.1-Two-important-language-features:)\n", " * [2.2 The bricks of Python are:](py02v01_python_basics.ipynb#2.2-The-bricks-of-Python-are:)\n", " * [2.3 Variables, as everything else, in Python are objects](py02v01_python_basics.ipynb#2.3-Variables,-as-everything-else,-in-Python-are-objects)\n", " * [2.4 Mutable / Immutable Objects](py02v01_python_basics.ipynb#2.4-Mutable-/-Immutable-Objects)\n", " * [2.5 Scripts, modules and namespaces](py02v01_python_basics.ipynb#2.5-Scripts,-modules-and-namespaces)\n", " * [3 Strings](py02v01_python_basics.ipynb#3-Strings)\n", " * [4 String formatting](py02v01_python_basics.ipynb#4-String-formatting)\n", " * [5 Lists](py02v01_python_basics.ipynb#5-Lists)\n", " * [6 Slicing](py02v01_python_basics.ipynb#6-Slicing)\n", " * [7 Sets](py02v01_python_basics.ipynb#7-Sets)\n", " * [8 Tuples](py02v01_python_basics.ipynb#8-Tuples)\n", " * [9 Dictionaries](py02v01_python_basics.ipynb#9-Dictionaries)\n", " * [10 Counters](py02v01_python_basics.ipynb#10-Counters)\n", " * [11 IF - FOR - WHILE](py02v01_python_basics.ipynb#11-IF---FOR---WHILE)\n", " * [11.1 IF](py02v01_python_basics.ipynb#11.1-IF)\n", " * [11.2 FOR - ELSE](py02v01_python_basics.ipynb#11.2-FOR---ELSE)\n", " * [11.3 WHILE](py02v01_python_basics.ipynb#11.3-WHILE)\n", "* [__Python Getting Started__](py03v01_python_getting_started.ipynb)\n", " * [1 Comment your code !](py03v01_python_getting_started.ipynb#1-Comment-your-code-!)\n", " * [2 Functions](py03v01_python_getting_started.ipynb#2-Functions)\n", " * [2.1 Local Functions](py03v01_python_getting_started.ipynb#2.1-Local-Functions)\n", " * [2.2 External Functions](py03v01_python_getting_started.ipynb#2.2-External-Functions)\n", " * [2.3 Private Methods](py03v01_python_getting_started.ipynb#2.3-Private-Methods)\n", " * [2.4 Anonymous Functions (lambda functions)](py03v01_python_getting_started.ipynb#2.4-Anonymous-Functions-(lambda-functions))\n", " * [3 File I/O](py03v01_python_getting_started.ipynb#3-File-I/O)\n", " * [3.1 Simple I/O](py03v01_python_getting_started.ipynb#3.1-Simple-I/O)\n", " * [3.2 Pickle / cPickle](py03v01_python_getting_started.ipynb#3.2-Pickle-/-cPickle)\n", " * [4 Operating System](py03v01_python_getting_started.ipynb#4-Operating-System)\n", " * [4.1 General Info](py03v01_python_getting_started.ipynb#4.1-General-Info)\n", " * [4.2 sys — System-specific parameters and functions](py03v01_python_getting_started.ipynb#4.2-sys-—-System-specific-parameters-and-functions)\n", " * [4.3 os — Miscellaneous operating system interfaces](py03v01_python_getting_started.ipynb#4.3-os-—-Miscellaneous-operating-system-interfaces)\n", " * [4.4 glob — Unix style pathname pattern expansion](py03v01_python_getting_started.ipynb#4.4-glob-—-Unix-style-pathname-pattern-expansion)\n", "* [__Python Style Guide__](py04v01_python_style_guide.ipynb)\n", " * [1 PEP8](py04v01_python_style_guide.ipynb#1-PEP8)\n", " * [2 Syntax and Naming Conventions](py04v01_python_style_guide.ipynb#2-Syntax-and-Naming-Conventions)\n", " * [2.1 Avoid using semicolons at the end of lines](py04v01_python_style_guide.ipynb#2.1-Avoid-using-semicolons-at-the-end-of-lines)\n", " * [2.2 Avoid having multiple statements on a single line](py04v01_python_style_guide.ipynb#2.2-Avoid-having-multiple-statements-on-a-single-line)\n", " * [2.3 Indent your code block with 4 spaces](py04v01_python_style_guide.ipynb#2.3-Indent-your-code-block-with-4-spaces)\n", " * [2.4 Imports: Should always be on separate lines, if refered to different modules.](py04v01_python_style_guide.ipynb#2.4-Imports:-Should-always-be-on-separate-lines,-if-refered-to-different-modules.)\n", " * [2.5 Whitespace: required or not?](py04v01_python_style_guide.ipynb#2.5-Whitespace:-required-or-not?)\n", " * [2.6 Naming: names in python should be chosen according to the following conventions:](py04v01_python_style_guide.ipynb#2.6-Naming:-names-in-python-should-be-chosen-according-to-the-following-conventions:)\n", " * [3 Working with Data](py04v01_python_style_guide.ipynb#3-Working-with-Data)\n", " * [3.1 Avoid using a temporary variable when swapping two variables](py04v01_python_style_guide.ipynb#3.1-Avoid-using-a-temporary-variable-when-swapping-two-variables)\n", " * [3.2 Use tuples to unpack data](py04v01_python_style_guide.ipynb#3.2-Use-tuples-to-unpack-data)\n", " * [3.3 Strings: Use join and list to create a string from a list and viceversa](py04v01_python_style_guide.ipynb#3.3-Strings:-Use-join-and-list-to-create-a-string-from-a-list-and-viceversa)\n", " * [3.4 Strings: Use startswith and endswith instead of string slicing to check for prefixes or suffixes.](py04v01_python_style_guide.ipynb#3.4-Strings:-Use-startswith-and-endswith-instead-of-string-slicing-to-check-for-prefixes-or-suffixes.)\n", " * [3.5 Dictionaries: Use the default parameter of dict.get to provide default values](py04v01_python_style_guide.ipynb#3.5-Dictionaries:-Use-the-default-parameter-of-dict.get-to-provide-default-values)\n", " * [3.6 File IO: Use Context Managers to ensure resources are properly managed](py04v01_python_style_guide.ipynb#3.6-File-IO:-Use-Context-Managers-to-ensure-resources-are-properly-managed)\n", " * [4 Control Structures](py04v01_python_style_guide.ipynb#4-Control-Structures)\n", " * [4.1 Don't compare boolean values to True or False using ==](py04v01_python_style_guide.ipynb#4.1-Don't-compare-boolean-values-to-True-or-False-using-==)\n", " * [4.2 Avoid placing conditional branch on the same line as the colon](py04v01_python_style_guide.ipynb#4.2-Avoid-placing-conditional-branch-on-the-same-line-as-the-colon)\n", " * [4.3 Comparisons to singletons like None should always be done with is or is not.](py04v01_python_style_guide.ipynb#4.3-Comparisons-to-singletons-like-None-should-always-be-done-with-is-or-is-not.)\n", " * [4.4 Avoid repeating variable name in compound if Statement](py04v01_python_style_guide.ipynb#4.4-Avoid-repeating-variable-name-in-compound-if-Statement)\n", " * [4.5 Use list comprehensions to create lists that are subsets of existing data](py04v01_python_style_guide.ipynb#4.5-Use-list-comprehensions-to-create-lists-that-are-subsets-of-existing-data)\n", " * [4.6 Indexes in for Loops](py04v01_python_style_guide.ipynb#4.6-Indexes-in-for-Loops)\n", " * [4.7 range` and `xrange`](py04v01_python_style_guide.ipynb#4.7-range`-and-`xrange`)\n", "* [__Python More Examples__](py05v01_python_more_examples.ipynb)\n", " * [1 Working with Win32Com - Excel example](py05v01_python_more_examples.ipynb#1-Working-with-Win32Com---Excel-example)\n", " * [2 Sending an e-mail from a gmail account](py05v01_python_more_examples.ipynb#2-Sending-an-e-mail-from-a-gmail-account)\n", " * [3 Automating google search](py05v01_python_more_examples.ipynb#3-Automating-google-search)\n", "* [__Object Oriented Python and Exceptions__](py06v01_python_object_oriented.ipynb)\n", " * [1 Understanding Objects](py06v01_python_object_oriented.ipynb#1-Understanding-Objects)\n", " * [1.1 Creating a class](py06v01_python_object_oriented.ipynb#1.1-Creating-a-class)\n", " * [1.2 Instantiating a class](py06v01_python_object_oriented.ipynb#1.2-Instantiating-a-class)\n", " * [1.3 Accessing attributes](py06v01_python_object_oriented.ipynb#1.3-Accessing-attributes)\n", " * [1.4 Class methods](py06v01_python_object_oriented.ipynb#1.4-Class-methods)\n", " * [1.5 Accessing methods](py06v01_python_object_oriented.ipynb#1.5-Accessing-methods)\n", " * [1.6 Is __init__ always required?](py06v01_python_object_oriented.ipynb#1.6-Is-__init__-always-required?)\n", " * [2 Inheritance](py06v01_python_object_oriented.ipynb#2-Inheritance)\n", " * [3 Duck typing and Polymorphism](py06v01_python_object_oriented.ipynb#3-Duck-typing-and-Polymorphism)\n", " * [4 Legacy style classes](py06v01_python_object_oriented.ipynb#4-Legacy-style-classes)\n", " * [5 How long does a class have to be?](py06v01_python_object_oriented.ipynb#5-How-long-does-a-class-have-to-be?)\n", "* [__Object Oriented Programming in Python__](py06v02_python_object_oriented.ipynb)\n", " * [1 How to define classes](py06v02_python_object_oriented.ipynb#1-How-to-define-classes)\n", " * [1.1 Protect your abstraction](py06v02_python_object_oriented.ipynb#1.1-Protect-your-abstraction)\n", " * [2 Inheritance](py06v02_python_object_oriented.ipynb#2-Inheritance)\n", " * [2.1 Overriding methods](py06v02_python_object_oriented.ipynb#2.1-Overriding-methods)\n", " * [3 Encapsulation](py06v02_python_object_oriented.ipynb#3-Encapsulation)\n", " * [3.1 Composition](py06v02_python_object_oriented.ipynb#3.1-Composition)\n", " * [3.2 Dynamic Extension](py06v02_python_object_oriented.ipynb#3.2-Dynamic-Extension)\n", " * [3.2.1 Example](py06v02_python_object_oriented.ipynb#3.2.1-Example)\n", " * [3.3 Polymorphism and DuckTyping](py06v02_python_object_oriented.ipynb#3.3-Polymorphism-and-DuckTyping)\n", " * [3.4 Legacy style classes](py06v02_python_object_oriented.ipynb#3.4-Legacy-style-classes)\n", " * [3.5 How long does a class has to be?](py06v02_python_object_oriented.ipynb#3.5-How-long-does-a-class-has-to-be?)\n", "* [__Integration of Python with compiled languages__](py07v01_python_speed-up_with_C.ipynb)\n", " * [1 Introduction](py07v01_python_speed-up_with_C.ipynb#1-Introduction)\n", " * [2 Speeding up Python code with Cython](py07v01_python_speed-up_with_C.ipynb#2-Speeding-up-Python-code-with-Cython)\n", " * [2.1 References](py07v01_python_speed-up_with_C.ipynb#2.1-References)\n", " * [3 Integrating C/C++ code into Python with Weave](py07v01_python_speed-up_with_C.ipynb#3-Integrating-C/C++-code-into-Python-with-Weave)\n", " * [3.1 References](py07v01_python_speed-up_with_C.ipynb#3.1-References)\n", " * [4 Access to external libraries with ctypes](py07v01_python_speed-up_with_C.ipynb#4-Access-to-external-libraries-with-ctypes)\n", " * [4.1 References](py07v01_python_speed-up_with_C.ipynb#4.1-References)\n", " * [5 Embedding Python in C](py07v01_python_speed-up_with_C.ipynb#5-Embedding-Python-in-C)\n", " * [5.1 References](py07v01_python_speed-up_with_C.ipynb#5.1-References)\n", "* [__Unicode__](py08v01_Unicode.ipynb)\n", " * [1 The World and Unicode](py08v01_Unicode.ipynb#1-The-World-and-Unicode)\n", " * [2 Encoding and decoding in Python 2.x](py08v01_Unicode.ipynb#2-Encoding-and-decoding-in-Python-2.x)\n", " * [3 Implicit conversion in Python 2.x](py08v01_Unicode.ipynb#3-Implicit-conversion-in-Python-2.x)\n", " * [4 Bytes Outside, Unicode Inside](py08v01_Unicode.ipynb#4-Bytes-Outside,-Unicode-Inside)\n", "* [__Regular Expressions__](py09v01_python_regular_expressions.ipynb)\n", " * [1 Finding wanted words and pieces of information (in a text complexity)](py09v01_python_regular_expressions.ipynb#1-Finding-wanted-words-and-pieces-of-information-(in-a-text-complexity))\n", " * [2 Python easy solutions for simple problems](py09v01_python_regular_expressions.ipynb#2-Python-easy-solutions-for-simple-problems)\n", " * [2.1 Some of the built-in python string functions may solve some of the easiest tasks:](py09v01_python_regular_expressions.ipynb#2.1-Some-of-the-built-in-python-string-functions-may-solve-some-of-the-easiest-tasks:)\n", " * [2.1.1 find](py09v01_python_regular_expressions.ipynb#2.1.1-find)\n", " * [2.1.2 strip, lstrip, rstrip](py09v01_python_regular_expressions.ipynb#2.1.2-strip,-lstrip,-rstrip)\n", " * [2.1.3 replace](py09v01_python_regular_expressions.ipynb#2.1.3-replace)\n", " * [2.1.4 functions for identifying the type of character](py09v01_python_regular_expressions.ipynb#2.1.4-functions-for-identifying-the-type-of-character)\n", " * [2.1.5 a slightly more complex example](py09v01_python_regular_expressions.ipynb#2.1.5-a-slightly-more-complex-example)\n", " * [2.2 The Power of Regular Expressions](py09v01_python_regular_expressions.ipynb#2.2-The-Power-of-Regular-Expressions)\n", " * [2.3 Python re module](py09v01_python_regular_expressions.ipynb#2.3-Python-re-module)\n" ] } ], "metadata": {}, "nbformat": 4, "nbformat_minor": 0 }