SlideShare a Scribd company logo
Python Tutorial

Haitham El-Ghareeb, Ph.D.
        May 2012
  Twitter: @helghareeb
Session One - Agenda
•   Whetting Your Appetite
•   Using Python Interpreter
•   Informal Introduction to Python
•   More Control Flows
Session Two - Agenda
•   Data Structures
•   Modules
•   Input and Output
•   Errors and Exceptions
•   Classes
Bonus Session - Agenda
• Unit Testing
  – Hopefully!
Python
• easy to learn, powerful programming
  language.
• has efficient high-level data structures and a
  simple but effective approach to object-
  oriented programming.
  – elegant syntax
  – dynamic typing
  – interpreted nature,
Whetting Your Appetite
• You could write a Unix shell script or Windows
  batch files for some tasks, but:
  – Shell scripts are best at moving around files and
    changing text data, not well-suited for GUI
    applications or games.
• You could write a C/C++/Java program, but:
  – It can take a lot of development time to get even a
    first-draft program.
Python
•   Simpler to use
•   Available on Windows, Mac OS X, and Unix
•   Help you get the job done more quickly
•   Split your program into modules that can be reused
• Python is an interpreted language:
    – Save you considerable time during program
      development because no compilation and linking
      is necessary.
    – Interpreter can be used interactively
Python
• Python is extensible: if you know how to
  program in C it is easy to add a new built-in
  function or module to the interpreter,
• Named after the BBC show “Monty Python’s
  Flying Circus” and has nothing to do with
  reptiles.
Using the Python Interpreter
• Python interpreter is usually installed as
  /usr/local/bin/python
• Invoking the Interpreter
  – A second way of starting the interpreter is python
    -c command [arg] ..., which executes the
    statement(s) in command
  – Some Python modules are also useful as scripts.
    These can be invoked using python -m module
    [arg] ..., which executes the source file for module
Using Python Interpreter
• Argument Passing
• Interactive Mode




• Error Handling
Executable Python Scripts
Source Code Encoding
• It is possible to use encodings different than
  ASCII in Python source files.
• The best way to do it is to put one more
  special comment line right after the #! line to
  define the source file encoding:
Informal Introduction
Using Python as a Calculator
Numbers
Strings
Strings
String Concatenation
String Indexing
String Slicing
Strings are Immutable!
Indices May be Negative
How Come?!
Lists
• compound data type
• used to group together other values
• The most versatile
• can be written as a list of comma-separated
  values (items) between square brackets.
• List items need not all have the same type.
Shallow Copy
First Steps toward Programming
More Control Flow Tools
If Statement
For Statement
For Statement with Shallow Copy
Range Function
Break, Continue, Else
Pass
• Does Nothing!
Functions
Return Statement
Default Argument Value
Keyword Arguments
Keyword Arguments
• When a final formal parameter of the form
  **name is present, it receives a dictionary
  containing all keyword arguments except for
  those corresponding to a formal parameter.
• This may be combined with a formal
  parameter of the form *name which receives
  a tuple containing the positional arguments
  beyond the formal parameter list.
• (*name must occur before **name.)
Declaration
Calling
Output
Lambda Strings
Documentation String
Coding Style - PEP8
• Use 4-space indentation, and no tabs.
• 4 spaces are a good compromise between small
  indentation (allows greater nesting depth) and large
  indentation (easier to read). Tabs introduce
  confusion, and are best left out.
• Wrap lines so that they don’t exceed 79 characters.
• This helps users with small displays and makes it
  possible to have several code files side-by-side on
  larger displays.
• Use blank lines to separate functions and classes, and
  larger blocks of code inside functions.
Coding Style - PEP8
• When possible, put comments on a line of their own.
• Use docstrings.
• Use spaces around operators and after commas, but not
  directly inside bracketing constructs: a = f(1, 2) + g(3, 4).
• Name your classes and functions consistently; the
  convention is to use CamelCase for classes and
  lower_case_with_underscores for functions and methods.
  Always use self as the name for the first method argument.
• Don’t use fancy encodings if your code is meant to be used
  in international environments. Plain ASCII works best in any
  case.
Data Structures - Lists
• list.append(x) Add an item to the end of the list.
• list.extend(L) Extend the list by appending all the
  items in the given list.
• list.insert(i, x) Insert an item at a given position.
  The first argument is the index of the element
  before which to insert, so a.insert(0, x) inserts at
  the front of the list, and a.insert(len(a), x) is
  equivalent to a.append(x).
• list.remove(x) Remove the first item from the list
  whose value is x. It is an error if there is no such
  item.
Data Structures - Lists
• list.pop([i]) Remove the item at the given position in
  the list, and return it. If no index is specified, a.pop()
  removes and returns the last item in the list.
• list.index(x) Return the index in the list of the first item
  whose value is x. It is an error if there is no such item.
• list.count(x) Return the number of times x appears in
  the list.
• list.sort() Sort the items of the list, in place.
• list.reverse() Reverse the elements of the list, in place.
Lists Example
Using Lists as Stack
Using List as a Queue
Functional Programming Tools
• There are three built-in functions that are very
  useful when used with lists: filter(), map(), and
  reduce().
Filter()
• filter(function, sequence) returns a sequence
  consisting of those items from the sequence
  for which function(item) is true.
• If sequence is a string or tuple, the result will
  be of the same type; otherwise, it is always a
  list.
• For example, to compute a sequence of
  numbers not divisible by 2 and 3:
Filter()
Map()
• map(function, sequence) calls function(item)
  for each of the sequence’s items and returns a
  list of the return values.
• For example, to compute some cubes:
Map()
• More than one sequence may be passed; the
  function must then have as many arguments
  as there are sequences and is called with the
  corresponding item from each sequence (or
  None if some sequence is shorter than
  another). For example:
Reduce()
• reduce(function, sequence) returns a single
  value constructed by calling the binary
  function function on the first two items of the
  sequence, then on the result and the next
  item, and so on.
• For example, to compute the sum of the
  numbers 1 through 10:
List Comprehension
• List comprehensions provide a concise way to
  create lists.
• Common applications are to make new lists
  where each element is the result of some
  operations applied to each member of
  another sequence or iterable, or to create a
  subsequence of those elements that satisfy a
  certain condition.
List of Squares
List Comprehension
• A list comprehension consists of brackets
  containing an expression followed by a for
  clause, then zero or more for or if clauses. The
  result will be a new list resulting from
  evaluating the expression in the context of the
  for and if clauses which follow it.
• For example, this listcomp combines the
  elements of two lists if they are not equal:
Python Tutorial Part 1
Python Tutorial Part 1
Del()
Tuples and Sequences
Comma at the end!
Sets
• A set is an unordered collection with no
  duplicate elements.
• Basic uses include membership testing and
  eliminating duplicate entries.
• Set objects also support mathematical
  operations like
  union, intersection, difference, and symmetric
  difference.
Python Tutorial Part 1
Dictionaries
• Dictionaries are sometimes found in other
  languages as “associative memories” or
  “associative arrays”.
• Unlike sequences, which are indexed by a range
  of numbers, dictionaries are indexed by
  keys, which can be any immutable type; strings
  and numbers can always be keys.
• Tuples can be used as keys if they contain only
  strings, numbers, or tuples; if a tuple contains any
  mutable object either directly or indirectly, it
  cannot be used as a key.
Dictionaries
• You can’t use lists as keys, since lists can be modified in
  place using index assignments, slice assignments, or
  methods like append() and extend().
• It is best to think of a dictionary as an unordered set of
  key: value pairs, with the requirement that the keys are
  unique (within one dictionary).
• A pair of braces creates an empty dictionary: {}. Placing
  a comma-separated list of key:value pairs within the
  braces adds initial key:value pairs to the dictionary; this
  is also the way dictionaries are written on output.
Dictionaries
• The main operations on a dictionary are storing a value
  with some key and extracting the value given the key.
• It is also possible to delete a key:value pair with del. If
  you store using a key that is already in use, the old
  value associated with that key is forgotten. It is an error
  to extract a value using a non-existent key.
• The keys() method of a dictionary object returns a list
  of all the keys used in the dictionary, in arbitrary order
  (if you want it sorted, just apply the sorted() function
  to it).
• To check whether a single key is in the dictionary, use
  the in keyword.
Python Tutorial Part 1
Dict() Constructor
Looping Techniques
Looping over Two Sequences
Loop in Reverse
More on Conditions
• Include and, or
Comparing Objects of Different Types

More Related Content

PPTX
Full Python in 20 slides
PPTX
Python Programming Language
PDF
Python - the basics
PPTX
Python basics
PPTX
Python 101: Python for Absolute Beginners (PyTexas 2014)
PDF
Python made easy
PPTX
Intro to Python Programming Language
PPTX
Introduction python
Full Python in 20 slides
Python Programming Language
Python - the basics
Python basics
Python 101: Python for Absolute Beginners (PyTexas 2014)
Python made easy
Intro to Python Programming Language
Introduction python

What's hot (20)

PPTX
Basic Python Programming: Part 01 and Part 02
PPT
Python ppt
PPTX
Python programming
PPTX
Python for loop
PDF
Python Basics | Python Tutorial | Edureka
PPTX
Python - An Introduction
PPT
Introduction to Python
PDF
Introduction To Python | Edureka
PPTX
Introduction to Basics of Python
PDF
Python-01| Fundamentals
PDF
Object oriented approach in python programming
PDF
Python Tutorial | Python Tutorial for Beginners | Python Training | Edureka
PPTX
Python Basics
PPTX
Object oriented programming in python
PDF
Introduction to python programming
PPTX
Introduction to the basics of Python programming (part 1)
PPTX
Python basics
PPTX
Python Functions
PPT
Introduction to Python
Basic Python Programming: Part 01 and Part 02
Python ppt
Python programming
Python for loop
Python Basics | Python Tutorial | Edureka
Python - An Introduction
Introduction to Python
Introduction To Python | Edureka
Introduction to Basics of Python
Python-01| Fundamentals
Object oriented approach in python programming
Python Tutorial | Python Tutorial for Beginners | Python Training | Edureka
Python Basics
Object oriented programming in python
Introduction to python programming
Introduction to the basics of Python programming (part 1)
Python basics
Python Functions
Introduction to Python
Ad

Viewers also liked (20)

PPTX
Python Tutorial Part 2
PDF
Python tutorial
PDF
Learn 90% of Python in 90 Minutes
PPTX
Basics of Python programming (part 2)
PPTX
Introduction to the basics of Python programming (part 3)
PPTX
Python Programming Essentials - M34 - List Comprehensions
PDF
PythonIntro
PDF
Python - basics
PDF
Python Tutorial
PPTX
Python Programming Essentials - M6 - Code Blocks and Indentation
PDF
AmI 2015 - Python basics
PDF
Python教程 / Python tutorial
PDF
Python Workshop
PDF
Python Basics
PDF
python codes
PDF
AmI 2016 - Python basics
PDF
Introduction to python programming
PPTX
PPT
Classification of computers
PDF
Introduction to python 3 2nd round
Python Tutorial Part 2
Python tutorial
Learn 90% of Python in 90 Minutes
Basics of Python programming (part 2)
Introduction to the basics of Python programming (part 3)
Python Programming Essentials - M34 - List Comprehensions
PythonIntro
Python - basics
Python Tutorial
Python Programming Essentials - M6 - Code Blocks and Indentation
AmI 2015 - Python basics
Python教程 / Python tutorial
Python Workshop
Python Basics
python codes
AmI 2016 - Python basics
Introduction to python programming
Classification of computers
Introduction to python 3 2nd round
Ad

Similar to Python Tutorial Part 1 (20)

PDF
Processing data with Python, using standard library modules you (probably) ne...
PPT
python language programming presentation
PPTX
Python programming
PDF
Introduction to Python
PDF
Python: An introduction A summer workshop
PDF
Q-Step_WS_02102019_Practical_introduction_to_Python.pdf
PPTX
Python Workshop - Learn Python the Hard Way
PPTX
python_computer engineering_semester_computer_language.pptx
PPTX
Q-SPractical_introduction_to_Python.pptx
PPTX
Q-Step_WS_02102019_Practical_introduction_to_Python.pptx
PDF
Introduction To Programming with Python
PDF
beginners_python_cheat_sheet_pcc_all_bw.pdf
PDF
ppt_pspp.pdf
PPTX
Python Demo.pptx
PPT
ComandosDePython_ComponentesBasicosImpl.ppt
PPTX
Python Demo.pptx
PPT
Python tutorialfeb152012
ODP
Python course Day 1
PPTX
Python-The programming Language
PPTX
Python Workshop
Processing data with Python, using standard library modules you (probably) ne...
python language programming presentation
Python programming
Introduction to Python
Python: An introduction A summer workshop
Q-Step_WS_02102019_Practical_introduction_to_Python.pdf
Python Workshop - Learn Python the Hard Way
python_computer engineering_semester_computer_language.pptx
Q-SPractical_introduction_to_Python.pptx
Q-Step_WS_02102019_Practical_introduction_to_Python.pptx
Introduction To Programming with Python
beginners_python_cheat_sheet_pcc_all_bw.pdf
ppt_pspp.pdf
Python Demo.pptx
ComandosDePython_ComponentesBasicosImpl.ppt
Python Demo.pptx
Python tutorialfeb152012
Python course Day 1
Python-The programming Language
Python Workshop

More from Haitham El-Ghareeb (20)

PDF
مختصر وحدة التعلم الذاتي 2015
PDF
وحدة التعلم الذاتي 2015
PDF
NoSQL Databases, Not just a Buzzword
PDF
EMC Academic Alliance Presentation
PDF
DSA - 2012 - Conclusion
PDF
Lecture 9 - DSA - Python Data Structures
PDF
Data Structures - Lecture 8 - Study Notes
PDF
Lecture 07 Data Structures - Basic Sorting
PDF
LectureNotes-06-DSA
PDF
LectureNotes-05-DSA
PDF
LectureNotes-04-DSA
PDF
LectureNotes-03-DSA
PDF
LectureNotes-02-DSA
PDF
LectureNotes-01-DSA
PDF
Lecture-05-DSA
PDF
Learn Latex
PDF
Research Methodologies - Lecture 02
PDF
DSA-Lecture-05
PDF
DSA - Lecture 04
مختصر وحدة التعلم الذاتي 2015
وحدة التعلم الذاتي 2015
NoSQL Databases, Not just a Buzzword
EMC Academic Alliance Presentation
DSA - 2012 - Conclusion
Lecture 9 - DSA - Python Data Structures
Data Structures - Lecture 8 - Study Notes
Lecture 07 Data Structures - Basic Sorting
LectureNotes-06-DSA
LectureNotes-05-DSA
LectureNotes-04-DSA
LectureNotes-03-DSA
LectureNotes-02-DSA
LectureNotes-01-DSA
Lecture-05-DSA
Learn Latex
Research Methodologies - Lecture 02
DSA-Lecture-05
DSA - Lecture 04

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPT
Teaching material agriculture food technology
PPTX
Cloud computing and distributed systems.
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
cuic standard and advanced reporting.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Teaching material agriculture food technology
Cloud computing and distributed systems.
Mobile App Security Testing_ A Comprehensive Guide.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
The Rise and Fall of 3GPP – Time for a Sabbatical?
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Spectral efficient network and resource selection model in 5G networks
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
“AI and Expert System Decision Support & Business Intelligence Systems”
Unlocking AI with Model Context Protocol (MCP)
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
CIFDAQ's Market Insight: SEC Turns Pro Crypto
cuic standard and advanced reporting.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Building Integrated photovoltaic BIPV_UPV.pdf
The AUB Centre for AI in Media Proposal.docx
MYSQL Presentation for SQL database connectivity
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx

Python Tutorial Part 1

  • 1. Python Tutorial Haitham El-Ghareeb, Ph.D. May 2012 Twitter: @helghareeb
  • 2. Session One - Agenda • Whetting Your Appetite • Using Python Interpreter • Informal Introduction to Python • More Control Flows
  • 3. Session Two - Agenda • Data Structures • Modules • Input and Output • Errors and Exceptions • Classes
  • 4. Bonus Session - Agenda • Unit Testing – Hopefully!
  • 5. Python • easy to learn, powerful programming language. • has efficient high-level data structures and a simple but effective approach to object- oriented programming. – elegant syntax – dynamic typing – interpreted nature,
  • 6. Whetting Your Appetite • You could write a Unix shell script or Windows batch files for some tasks, but: – Shell scripts are best at moving around files and changing text data, not well-suited for GUI applications or games. • You could write a C/C++/Java program, but: – It can take a lot of development time to get even a first-draft program.
  • 7. Python • Simpler to use • Available on Windows, Mac OS X, and Unix • Help you get the job done more quickly • Split your program into modules that can be reused • Python is an interpreted language: – Save you considerable time during program development because no compilation and linking is necessary. – Interpreter can be used interactively
  • 8. Python • Python is extensible: if you know how to program in C it is easy to add a new built-in function or module to the interpreter, • Named after the BBC show “Monty Python’s Flying Circus” and has nothing to do with reptiles.
  • 9. Using the Python Interpreter • Python interpreter is usually installed as /usr/local/bin/python • Invoking the Interpreter – A second way of starting the interpreter is python -c command [arg] ..., which executes the statement(s) in command – Some Python modules are also useful as scripts. These can be invoked using python -m module [arg] ..., which executes the source file for module
  • 10. Using Python Interpreter • Argument Passing • Interactive Mode • Error Handling
  • 12. Source Code Encoding • It is possible to use encodings different than ASCII in Python source files. • The best way to do it is to put one more special comment line right after the #! line to define the source file encoding:
  • 14. Using Python as a Calculator
  • 22. Indices May be Negative
  • 24. Lists • compound data type • used to group together other values • The most versatile • can be written as a list of comma-separated values (items) between square brackets. • List items need not all have the same type.
  • 26. First Steps toward Programming
  • 30. For Statement with Shallow Copy
  • 38. Keyword Arguments • When a final formal parameter of the form **name is present, it receives a dictionary containing all keyword arguments except for those corresponding to a formal parameter. • This may be combined with a formal parameter of the form *name which receives a tuple containing the positional arguments beyond the formal parameter list. • (*name must occur before **name.)
  • 44. Coding Style - PEP8 • Use 4-space indentation, and no tabs. • 4 spaces are a good compromise between small indentation (allows greater nesting depth) and large indentation (easier to read). Tabs introduce confusion, and are best left out. • Wrap lines so that they don’t exceed 79 characters. • This helps users with small displays and makes it possible to have several code files side-by-side on larger displays. • Use blank lines to separate functions and classes, and larger blocks of code inside functions.
  • 45. Coding Style - PEP8 • When possible, put comments on a line of their own. • Use docstrings. • Use spaces around operators and after commas, but not directly inside bracketing constructs: a = f(1, 2) + g(3, 4). • Name your classes and functions consistently; the convention is to use CamelCase for classes and lower_case_with_underscores for functions and methods. Always use self as the name for the first method argument. • Don’t use fancy encodings if your code is meant to be used in international environments. Plain ASCII works best in any case.
  • 46. Data Structures - Lists • list.append(x) Add an item to the end of the list. • list.extend(L) Extend the list by appending all the items in the given list. • list.insert(i, x) Insert an item at a given position. The first argument is the index of the element before which to insert, so a.insert(0, x) inserts at the front of the list, and a.insert(len(a), x) is equivalent to a.append(x). • list.remove(x) Remove the first item from the list whose value is x. It is an error if there is no such item.
  • 47. Data Structures - Lists • list.pop([i]) Remove the item at the given position in the list, and return it. If no index is specified, a.pop() removes and returns the last item in the list. • list.index(x) Return the index in the list of the first item whose value is x. It is an error if there is no such item. • list.count(x) Return the number of times x appears in the list. • list.sort() Sort the items of the list, in place. • list.reverse() Reverse the elements of the list, in place.
  • 49. Using Lists as Stack
  • 50. Using List as a Queue
  • 51. Functional Programming Tools • There are three built-in functions that are very useful when used with lists: filter(), map(), and reduce().
  • 52. Filter() • filter(function, sequence) returns a sequence consisting of those items from the sequence for which function(item) is true. • If sequence is a string or tuple, the result will be of the same type; otherwise, it is always a list. • For example, to compute a sequence of numbers not divisible by 2 and 3:
  • 54. Map() • map(function, sequence) calls function(item) for each of the sequence’s items and returns a list of the return values. • For example, to compute some cubes:
  • 55. Map() • More than one sequence may be passed; the function must then have as many arguments as there are sequences and is called with the corresponding item from each sequence (or None if some sequence is shorter than another). For example:
  • 56. Reduce() • reduce(function, sequence) returns a single value constructed by calling the binary function function on the first two items of the sequence, then on the result and the next item, and so on. • For example, to compute the sum of the numbers 1 through 10:
  • 57. List Comprehension • List comprehensions provide a concise way to create lists. • Common applications are to make new lists where each element is the result of some operations applied to each member of another sequence or iterable, or to create a subsequence of those elements that satisfy a certain condition.
  • 59. List Comprehension • A list comprehension consists of brackets containing an expression followed by a for clause, then zero or more for or if clauses. The result will be a new list resulting from evaluating the expression in the context of the for and if clauses which follow it. • For example, this listcomp combines the elements of two lists if they are not equal:
  • 62. Del()
  • 64. Comma at the end!
  • 65. Sets • A set is an unordered collection with no duplicate elements. • Basic uses include membership testing and eliminating duplicate entries. • Set objects also support mathematical operations like union, intersection, difference, and symmetric difference.
  • 67. Dictionaries • Dictionaries are sometimes found in other languages as “associative memories” or “associative arrays”. • Unlike sequences, which are indexed by a range of numbers, dictionaries are indexed by keys, which can be any immutable type; strings and numbers can always be keys. • Tuples can be used as keys if they contain only strings, numbers, or tuples; if a tuple contains any mutable object either directly or indirectly, it cannot be used as a key.
  • 68. Dictionaries • You can’t use lists as keys, since lists can be modified in place using index assignments, slice assignments, or methods like append() and extend(). • It is best to think of a dictionary as an unordered set of key: value pairs, with the requirement that the keys are unique (within one dictionary). • A pair of braces creates an empty dictionary: {}. Placing a comma-separated list of key:value pairs within the braces adds initial key:value pairs to the dictionary; this is also the way dictionaries are written on output.
  • 69. Dictionaries • The main operations on a dictionary are storing a value with some key and extracting the value given the key. • It is also possible to delete a key:value pair with del. If you store using a key that is already in use, the old value associated with that key is forgotten. It is an error to extract a value using a non-existent key. • The keys() method of a dictionary object returns a list of all the keys used in the dictionary, in arbitrary order (if you want it sorted, just apply the sorted() function to it). • To check whether a single key is in the dictionary, use the in keyword.
  • 73. Looping over Two Sequences
  • 75. More on Conditions • Include and, or
  • 76. Comparing Objects of Different Types

Editor's Notes

  • #8: Interpreter can be used interactively, which makes it easy to experiment with features of the language, to write throw-away programs, or to test functions during bottom-up program development. It is also a handy desk calculator.
  • #18: Using r in front of string means: Raw String – string will not be processed
  • #26: Unlike Strings, Lists are MutableWe can Apply len() on listsIt is possible to Nest Lists
  • #33: The break statement, like in C, breaks out of the smallest enclosing for or while loop.The continue statement, also borrowed from C, continues with the next iteration of the loop.Loop statements may have an else clause; it is executed when the loop terminates through exhaustion of the list (with for) or when the condition becomes false (with while), but not when the loop is terminated by a break statement.
  • #38: First Block: Function DeclarationSecond Block: ValidThird Block: Non-Valid
  • #43: By popular demand, a few features commonly found in functional programming languages like Lisp have been added to Python. With the lambda keyword, small anonymous functions can be created. Here’s a function that returns the sum of its two arguments: lambda a, b: a+b. Lambda forms can be used wherever function objects are required. They are syntactically restricted to a single expression. Semantically, they are just syntactic sugar for a normal function definition. Like nested function definitions, lambda forms can reference variables from the containing scope:
  • #50: First in Last Out, The list methods make it very easy to use a list as a stack, where the last element added is the first element retrieved (“last-in, first-out”). To add an item to the top of the stack, use append(). To retrieve an item from the top of the stack, use pop() without an explicit index.
  • #51: It is also possible to use a list as a queue, where the first element added is the first element retrieved (“first-in, first-out”); however, lists are not efficient for this purpose. While appends and pops from the end of list are fast, doing inserts or pops from the beginning of a list is slow (because all of the other elements have to be shifted by one).
  • #59: Pythonic StyleAnother way: squares = map(lambda x: x**2, range(10))
  • #61: How can this be Pythonic?
  • #63: We can del a
  • #74: A = [1,2,3]B = [4,5,6]C = zip(A,B)F,G = zip(*C) #this is unzipping
  • #77: Note that comparing objects of different types is legal. The outcome is deterministic but arbitrary: the types are ordered by their name. Thus, a list is always smaller than a string, a string is always smaller than a tuple, etc. [1] Mixed numeric types are compared according to their numeric value, so 0 equals 0.0, etc.