Python Programming (Basic to Advanced)

Programming

COURSE OVERVIEW


In this course, you will start learning the Basic in Python topics such as the introduction, functions, syntax, and terminologies. Moving forward you will learn the intermediate to advance Python topics such as testing and debugging, working with data, and classes & objects. In the last session of module, you will always have a Hands-on/Project making to test your knowledge and skills.


PRE-REQUISITES

There are no prerequisites for taking this course. However, if you have knowledge about on any programming language it will be an advantage.


Duration: 40 HRS / 5 DAYS)

Delivery Method: Classroom-based, Virtual Instructor Led Training

black laptop computer turned on on table

Description

COURSE OUTLINE:


Module 1

• Data Types

• Function: print

• Math operators: + -/*

• String operator +

• Functions: int, str

• Function: input

• Optional parameters

• String functions, upper, lower, swapcase, title, format

• multi-line string

• Boolean

• Boolean operators: and, or, not

• If statement

• conditional operators: > < >= <= == !=

• else

• elif

• Lists

• list element assignment (list[] = element)

• list functions: append, remove, len, index, insert, extend

• for-loops.

• Code blocks

• list comprehension

• range function

• list slicing.

• in operator.

• list function: sort, reverse

• Unpacking

• tuple

• string functions: split, join, count

• list function: count

• file function: open()

• with statement

• random library

• shuffle, choice, randint

• help() and dir()

• from import

• help and python manual

• making a function

• optional parameters

• named parameter

• importing function from other files

• while, continue, break

• turtle/logo programming


Module 2

• enumerate(), zip()

• Set

• Dictionary

   o try, except, else, finally

• datetime library

• Basic Object Oriented Programming o constructor

   o "private" methods

   o inheritance

▪ super

   o dunder functions

• dir introspection

• python debugger

• Python IDEs

   o visual studio code

   o pycharm

   o IPython


Module 3

• Web programming using Flask

• Internet API connectivity (request)

• Database (csv, sqlite, peewee, etc)

• GUI programming (tkinter, Kivy)

• Console/Terminal development

• Test Driven Development


Module 4

• f-strings (python 3.6)

• for-else

• try-except-else

• virtualenv and pipenv

• Python's variables are by-reference

• Shallow and deep copy

• Generators

• args, kwargs

• Positional only and Keyword only parameters (python 3.8, python 3.7)

• OOP

    o Instance and Class variables

    o dunder methods

    o _getitem_

    o _repr_

    o _str_

    o _len_

    o _call_

    o _lt_

    o _add_

• Context Managers

• Function caching

• OS library

• Pathlib library

• Python Practices

     o code organization

▪ modules and packages

     o PEP-8

     o Linters

         ▪ Pylint

             ➢ more verbose

             ➢ configurabke

          ▪ pyflake8

             ➢ quality assurance

          ▪ idiomatic Python

              ➢ https://jeffknupp.com/blog/2012/10/04/writing-idiomatic-python/

              ➢ https://jeffknupp.com/writing-idiomatic-python-ebook/


Module 5

• Capstone where students use what they've learned to create a new program

• Hackathon