Python Curriculum
Python Curriculum
Introduction to Python
○ What is Python?
○ Features of Python
○ Reasons to learn Python (Why should you learn Python?)
○ Applications of Python (Where is it used?)
○ Python basic syntax
○ Example program
2. Installing and interacting with the Python interface For windows
○ Select Windows version
○ Download latest Python executable installer
○ Run installer
○ Verify installation
○ Verify PIP installation
3. Installing and interacting with the Python interface For Mac
○ Check Mac version
○ Install using official installer or homebrew package manager
○ Using official installer
i. Download official installer
ii. Run official installer
○ Using Homebrew package manager
i. Install homebrew
ii. Install Python
4. Installing and interacting with the Python interface For Linux
○ Check version
○ 2 ways to install
i. Using your operating system’s package manager
ii. Building Python from source code
○ Download latest version
○ Install
5. Python 2.x vs 3.x
○ Introduction
○ History of python 2
○ Example code of python 2
○ History of python 3
○ Example code of python 3
○ Difference between Python 2 & 3
○ Should I learn python 2 or 3?
6. First python program and constituents of a python prog ()
7. Python indentation
○ Introduction
○ How does indentation work?
○ Indentation rules
○ Advantages
○ Disadvantages
○ Indentation error example
○ Example code
8. Python variables
○ Identifier naming
○ Declaring variable & assigning values
○ Multiple assignment
○ Object references
○ Object identity
○ Variable types
i. Local variable
ii. Global variable
○ Delete a variable
9. Keywords and Identifiers
10. Literals
○ String literals
○ Numeric literals
○ Boolean literals
○ Special literals
○ Literal collections
11. Comments
○ Multiline
○ Docstrings
12. Operators (detailed with examples)
○ Arithmetic
○ Comparison
○ Assignment
○ Logical
○ Bitwise
○ Membership
○ Identity
13. Python input, output
14. Implicit Type Conversion
15. Explicit Type Conversion
16. Python Boolean Operators in Detail and Complex Boolean expressions (AND, OR,
NOT, XOR, ==)
17. What is flow control and its importance
18. If .. else
○ If
○ If else
○ If elif else
○ Nested if-else
19. While loop
○ What is while loop
○ Looping over strings, lists and dictionaries(w.r.t while)
○ Nested loops(w.r.t while)
○ While else
○ Infinite loop (w.r.t While)
String
24. What is a string?
○ Creating a string
○ Accessing characters in string
○ How to change or delete a string?
○ String operators
i. Concatenation
ii. Iterating through a string
iii. String membership test
25. String slicing
26. String Methods
○ Dot notation(.)
○ Upper
○ Lower
○ Str() etc
27. String formatting
○ Escape sequence
○ Raw string to ignore escape sequence
○ format() method for formatting strings
○ String formatting using % operator
○ Concatenation
○ Formatting with %
○ New methodology - .format func
28. Functions
○ What are Functions?
○ How to write functions?
○ How to call a function?
○ Advantages and disadvantages of function
○ Passing arguments to functions
○ How does the function work?
29. Function arguments + example of each
○ Required arguments
○ Keyword arguments
○ Default arguments
○ Variable-length arguments
30. Function Scope
31. Args and Kwargs
32. Packing and unpacking arguments in python
33. Lambda and Anonymous Function
34. Recursion
35. Important builtin functions (list at the end) - WIll be written by naman and yatharth
36. Lists
○ How to create a list?
○ Accessing values in list
○ Updating lists
○ Delete list elements
○ List operations
○ Indexing, slicing & matrixes
○ List methods
○ Iterating a list
○ Built-in lists functions & methods
37. Dictionary
○ Creating a dictionary
○ Accessing values in dictionary
○ Updating dictionary
○ Delete dictionary elements
○ Iterating dictionary
○ Properties of dictionary keys
○ Built-in dictionary functions & methods
○ Dictionary Operations
38. Sets
○ Creating a set
○ Adding items to the set
○ Removing items from the set
○ Set Operations
i. Union
ii. Intersection
iii. Difference
iv. Symmetric difference
v. Set comparison
vi. Frozen set
39. Numbers
○ Number data type in python
○ Type conversion
○ Python decimal
○ Python functions
○ Python fractions
○ Python mathematics
○ Mathematical functions
○ Random number functions
○ Trigonometric functions
○ Mathematical constants
40. Tuples
○ Creating a tuple
○ Accessing values
○ Updating tuples
○ Delete tuple elements
○ Indexing & slicing
○ Negative indexing
○ Basic tuple operations
○ In-built functions
41. Dictionary vs List vs Set vs Tuples
42. Comprehensions
○ List comprehensions
○ Dictionary comprehensions
○ Set comprehensions
○ Nested comprehensions
43. Exception Handling
○ Common exceptions
○ Problem without handling exceptions
○ Catching exceptions
○ Catching specific exceptions
○ Raising exceptions
○ Try with else clause
○ Common exceptions and how to handle them
○ Try except or ELSE!
44. Asserts in python
45. Opening/Closing files
○ What is file handling
○ Why is file handling
○ Open file
○ Closing files
46. Reading files
47. Writing files
48. Deleting file
49. With operator in file handling
OOPS
50. What is a class?
51. Object and object instantiation
52. Inheritance in Python Class
53. Encapsulation
54. Polymorphism
55. Data abstraction
56. Python Iterators
○ Introduction
○ Iterating through iterators
○ Working of for loops
○ Building custom iterators
○ Infinite iterators
57. Python Generators
○ Create generator
○ Difference between generator function & normal function
○ Generators with a loop
○ Generator expression
○ Use of generators
58. Python Decorators
○ Introduction
○ Prerequisites for learning
○ Decorators function with parameters
○ Chaining decorators
59. Python closure
○ Nonlocal variable in a nested function
○ Defining a closure function
○ When do we have closures
○ When to use closures
60. Python property
○ Class without getters & setters
○ Using getters & setters
○ Property class
○ Using @property decorator
61. Modules in Python
62. Packages in Python and import statement
63. Python Collections Module
64. Python RegEx
○ Introduction
○ Using specific pattern using RegEx
○ re.findall()
○ re.split()
○ re.sub()
○ re.subn()
○ re.search()
○ Match object
○ Using r prefix before RegEx
65. Datetime