Python Syllabus

         CORE PYTHON:


1 Introduction to Python

  • Features of Python
  • Python Virtual Machine (PVM)
  • Frozen Binaries
  • Memory Management in Python
  • Garbage Collection in Python


2 Writing our First Python Program

  • Writing our First Python Program
  • Executing a Python progam
  • Getting help in Python
  • Re-opening th Python program in IDLE


3 Datatypes in Python

  • Comments in Python
  • Docstrings
  • How Python sees variables
  • Datatypes in Python
  • Built-in datatypes
  • Boolean datatypes
  • Sequences in Python
  • Sets
  • Literals in Python
  • Determining the datatype of a variable
  • Characters in Python
  • User-defined datatypes
  • Constants in Python
  • Identifiers and Reserved words
  • Naming conventions in Python


4 Operators in Python

  • Arithmetic operators
  • Using Python interpreter as calculator
  • Assignment operators
  • Unary minus operator
  • Relational operators
  • Logical operators
  • Boolean operators
  • Membership operators
  • Identitiy operators
  • Operator precedence and associativity
  • Mathematical function


5 Input and Output

  • Output statements
  • Various formats of print()
  • Input statements
  • Command line arguments


6 Control Statements

  • if statement
  • if…else statement
  • if…elif…else statement
  • for loop
  • Infinite loops
  • Nested loops
  • The else suite
  • break statement
  • continue statement
  • pass statement
  • assert statement
  • return statement


7 Arrays in Python

  • Creating an array
  • Importing the array module
  • Indexing and slicing on arrays
  • Types of arrays
  • Working with arrays using numpy
  • Creating arrays using linspace
  • Creating arrays using logspace
  • Creating arrays using arrange() function
  • Creating arrays using zeros() and ones() functions
  • Mathematical operations on arrays
  • Comparing arrays
  • Aliasing the arrays
  • Viewing and copying arrays
  • Slicing and indexing in numpy arrays
  • Dimensions of arrays
  • Attributes of an array
  • reshape()
  • flatten()
  • Working with Multi-dimensional arryays
  • The array() function
  • ones() and zeros() functions
  • eye() function
  • reshape() function
  • Indexing in Multi-dimensional arrays
  • Slicing the Multi-dimensional arrays
  • Matrices in numpy


8 Strings and Characters

  • Creating strings
  • Length of a string
  • Indexing in strings
  • Repeating the string
  • Concatenation of strings
  • Checking membership
  • Comparing strings
  • Removing spaces from a string
  • Finding sub strings
  • Strings are immutable
  • Replacing a string with another string
  • Splitting and joining strings
  • Changing case of a string
  • Checking starting and ending of a string
  • String testing methods
  • Formatting the strings
  • Sorting strings


9 Functions

  • Defining a function
  • Calling a function
  • Returning results from a function
  • Returning multiple values from a function
  • Functions are first class objects
  • Pass by object reference
  • Formal and actual arguments
  • Positional arguments
  • Default arguments
  • Variable length arguments
  • Local and global variables
  • The global keyword
  • Passing a group of elements to a function
  • Recursive functions
  • Lambdas
  • Using Lambdas with filter() function
  • Using Lambdas with map() function
  • Using Lambdas with reduce() function
  • Function decorators
  • Generators
  • Structured programming
  • Creating our modules in Python
  • The special variable _name_


10 Lists and Tuples

  • Creating lists using range() function
  • Updating the elements of a list
  • Concatenation of two lists
  • Repetition of lists
  • Membership in lists
  • Aliasing and cloinng lists
  • Methods to process lists
  • Nested lists
  • List Comprehensions
  • Tuples
  • Creating tuples
  • Accessing the tuple elements
  • Basic operators on tuples
  • Functions to process tuples
  • Nested tuples


11 Dictionaries

  • Operations on dictionaries
  • Dictionary methods
  • Using for loop with dictionaries
  • Sorting the elements of a dictionary using lambdas
  • Converting lists into dictionary
  • Converting strings into dictionary
  • Ordered dictionaries

       ADVANCED PYTHON:


12 Introduction to OOPS

  • Problems in Procedure Oriented Approach
  • Features of Object Oriented Programmig System (OOPS)
  • Classses and Objects
  • Encapsulation
  • Abstraction
  • Inheritance
  • Polymorphism


13 Classes and Objects

  • self variable
  • Constructor
  • Types of variables
  • Namespaces
  • Types of methods
  • Passing members of one class to another class
  • Inner classes


14 Inheritance and Polymorphism

  • Constructors in inheritance
  • Overriding super class constructors and methods
  • super () method
  • Types of inheritance
  • Method Resolution Order (MRO)
  • Duck typing philosopy of Python
  • Operator overloading
  • Method overloading
  • Method overriding


15 Abstract classes and interfaces

  • Abstract Method and Abstract Class
  • Interfaces in Python
  • Abstract Classes vs. Interfaces


16 Exceptions

  • Errors in Python program
  • Exceptions
  • Exception handling
  • Types of exceptions
  • The except block
  • assert statement
  • User-defined exceptions
  • Logging the exceptions


17 Files in Python

  • Types of files in Python
  • Working with text files with strings
  • Knowing whether a file existts or not
  • Working with binary files
  • Pickle in Python
  • seek () and tell ()
  • Random accessing of birary files
  • Random accessing of binary files using mmap
  • Zipping and Unzipping files
  • Running other programs from Python program


18 Regular Expressions in Python

  • Sequence characters in regular expressions
  • Quantifiers in regular expressions
  • Special characters in regular expressions
  • Using regular expressions on files
  • Retrieving information from a HTML file


19 Date and Time

  • The epoch
  • Combining date and time
  • Formatting dates and times
  • Finding durations using timedelta
  • Comparing two dates
  • Sorting dates
  • Stopping execution temporarily
  • knowing the time taken by a program
  • Working with calendar module


20 Threads

  • Differences between process and thread
  • Concurrent programming and GIL
  • Uses of threads
  • Creating threads in Python
  • Thread class methods
  • Single tasking using a thread
  • Multi tasking using multiple threads
  • Thread synchonization
  • Avoiding deadlocks in a program
  • Communication between threads
  • Thread communication using notify () and wait () methods
  • Thread communication using a queue
  • Daemon threads


21 Graphical User Interface

  • GUI in Python
  • The root window
  • Fonts and colors
  • Working with containers
  • Canvas
  • Frame
  • Widgets
  • Button widget
  • Label widget
  • Message widget
  • Text widget
  • Scrollbar widget
  • Checkbutton widget
  • Radiobutton widget
  • Entry widget
  • Spinbox widget
  • Listbox widget
  • Menu widget


22 Networking in Python

  • TCP / IP Protocol
  • User Datagram Protocol (UDP)
  • Sockets
  • Knowing IP Address
  • Reading the source code of a web page
  • Downloading an image from Internet
  • TCP/IP Server and Client
  • File server
  • File client
  • Sending a simple mail


23 Python's Database Connectivity

  • Advantages of a DBMS over files
  • Working with MySQL database in Python
  • Operations on rows of a table
  • Creating database tables through Python
  • Working with Oracle database in Python
  • Stored procedures

image1