Skip to content

HarunMbaabu/Python-BoootCamp-Guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Python BoootCamp by Lux Academy and Data Science East Africa Guide.


This is the Python3 BoootCamp by Lux Academy and Data Science East Africa learners guide.To add a question to this list, please submit an issue, or fork this repo and submit a pull request.


  • What is Python?

Python is an interpreted, high-level language created by Guido van Rossum and released in 1991.It is dynamically typed and garbage collected. Python programs have the extension .py and can be run from the command line by typing python file_name.py.


  • Modern Python Road Map

Probably its most noticeable characteristic is its use of significant white space to delimit code blocks, instead of the more popular {} symbols. End-of-line semicolons (;) are optional and usually not used in Python. Python becomes the best solution in many domains from web applications, data analysis, data science, machine learning, and AI.


Here is a full curriculum for learning Python programming language:


1 - AN OVERVIEW OF PYTHON

  • What is python programming language?
  • Common Feature Provided By python.
  • Advantages and disadvantages of Python programming language.
  • Uses and application of Python programming language.

Link to Python Overview NoteBook


2 - THE PYTHON ENVIRONMENT

  • Starting Python programming language, setting up the environment, for windows, Unix and MacOS.
  • Different methods for executing Python code and programs.

3 - GETTING STARTED: Python fundamentals.

  • Python as a programming language , programming techniques supported python programming language and it’s programming language category.
  • Variables, defining and using variables in python programming language.
  • Comments, keywords, identifiers, rules to follow when defining identifiers literals.
  • Built-in functions in python programming language like print( … )
  • Operators in python programming language.
  • PEP8 rules and standards in Python programming language.

Project 1: This project tests the mastery of Python basics, these include, what python is, uses and applications of python programming language, types of programming techniques that python supports, variables, keywords, identifiers, literals, type conversion, operators and ability to execute an run python program and code on different environment.


4 - FLOW CONTROL AND DECISION MAKING IN PYTHON

  • Introduction to flow control and decision making in python programming language.
  • Indentation and white space in python
  • Conditional statements and expressions in python.
  • Loops in Python programming language
  • Relational and boolean operators and their application in decision making in python.

Project 2: The second projects aims to test the mastery content covered on the past two chapters, covered so far, first aims to ensure retention of all the information from section one (Python fundamentals) and test the ability to build on top of Python fundamentals to integrate decision making and flow control to solve real world problems using Python programming language.


5 - INTRODUCTION TO DATA STRUCTURES: PYTHON BUILT-IN DATA STRUCTURES

  • Differences between data types and data structures in Python programming language.
  • Introduction to lists and list methods and operations.
  • Introduction to tuples in python and tuple methods and operations.
  • Introduction dictionary in python and tuple methods and operations.
  • Introduction to sets, methods and operations that we can perform on sets.
  • Application and use cases of the above data structures in real world problems.
  • Indexing and slicing in Python programming language.

Project 3: This will focus on testing the mastery of built in data types in python, methods and operations that we can perform on Python programming language, and how to build real world applications using the content covered so far.


6 - FUNCTIONS

  • What are functions , defining and calling functions in the Python programming language?
  • Scope, parameters and arguments in python programming language.
  • Recursive and lambda functions in Python programming functions.
  • Nested function in Python programming language.
  • Decorators in Python programming language.

Project 4: This project is aims to see if you can write functions comfortably, these includes recursive functions that calls themselves and incorporating loops and conditional statements inside functions, it will also test if you have mastered different scopes in python and the difference between arguments and parameters


7 - CLASSES IN PYTHON

  • Introduction to classes in Python.
  • Defining classes in python
  • Constructors and methods in python
  • Instance data
  • Properties, class methods and data

Project 5: This project will involve creating classes and objects and methods and functions in classes.


8 - ERRORS AND EXCEPTION HANDLING

  • Syntax errors
  • Exceptions
  • Using try/catch/else/finally
  • Handling multiple exceptions
  • Ignoring exceptions

Project 6: This will focus on testing if you can correct bugs and refact your python code without breaking the functionality.


9 - WORKING WITH FILES

  • File overview
  • Opening a text file
  • Reading a text file
  • Writing to a text file
  • Reading and writing raw (binary) data
  • Converting binary data with struct

Project 7: This project aims to test if you can handle files using Python programming language, this is opening files, writing on it save and close.


10 - MODULES AND PACKAGES

  • The import statement
  • Module search path
  • Creating Modules
  • Using packages
  • Function and Module aliases

Project 8: This project tests if you can install and import packages and the best packages handling practices.


11 - REGULAR EXPRESSIONS IN PYTHON

  • RE syntax overview
  • RE Objects
  • Searching and matching
  • Compilation flags
  • Groups and special groups
  • Replacing text
  • Splitting strings

Project 9: Project 9 tests if you can perform regular expressions using python, for instance getting a character from a file or text document.


12 - NETWORK SERVICES Grabbing web content, Sending email and Using SSH for remote access

Project 7: This project tests if you have mastered the application of python in networking services like creating scripts and programs using python programming language that can send emails or perform web scraping .


Final Project: Capstone Projects. These are two projects that test everything Python related to prepare you for any python related field, this might me, Python for data science and machine learning or python for web development. These projects will get you ready for junior python developers roles. —-- Here you are comfortable to specialize into Python for Data Science or for Web development.


What Is Python

image

Python is an interpreted, high-level language created by Guido van Rossum and released in 1991. It is dynamically typed and garbage collected.

Python programs have the extension .py and can be run from the command line by typing python file_name.py.

Probably its most noticeable characteristic is its use of significant white space to delimit code blocks, instead of the more popular {} symbols.

End-of-line semicolons (;) are optional and usually not used in Python.

Python becomes the best solution in many domains from web applications, data analysis, data science, machine learning, and AI.


Common Feature Provided By python.

  • Simplicity: Think less of the syntax of the language and more of the code.

  • Open Source: A powerful language and it is free for everyone to use and alter as needed.

  • Portability: Python code can be shared and it would work the same way it was intended to. Seamless and hassle-free.

  • Being Embeddable & Extensible: Python can have snippets of other languages inside it to perform certain functions.

  • Being Interpreted: The worries of large memory tasks and other heavy CPU tasks are taken care of by Python itself leaving you to worry only about coding.

  • Huge amount of libraries: Data Science? Python has you covered. Web Development? Python still has you covered.

  • Object Orientation: Objects help breaking-down complex real-life problems into such that they can be coded and solved to obtain solutions.


Advantages and disadvantages of Python programming language.

Advantages of Python.

  • Easy to use and learn: For beginners, Python is straightforward to use. It is a high-level programming language, and its syntax is like the English language. These reasons make the language easy to learn and adapt to. Compared to Java and C, in Python, the same task can be performed using fewer lines of code. As a result of its easy learning, the principles in Python can be executed faster compared to other languages.

  • Increased productivity: Python is a very productive language. The simple nature of Python helps the developers to concentrate on solving the issues in it. To understand the syntax and behavior of the programming language, the users do not have to spend hours, so more work is done.

  • Flexibility: This language is very flexible, and hence it allows the user to try new things. The users can develop new sorts of the application using Python programming language. The language does not restrict the user from trying something different. Other programming languages do not provide this type of flexibility and freedom, and hence Python is more preferred in these matters.

  • Extensive library: Python provides the user with a vast library. Python’s standard library is massive, and just about every function one needs to perform is available in its library. This is because it has a hugely supportive community and corporate sponsorship. External libraries are not used by users while working with Python.

  • Supportive community: The Python language was created years ago, and hence it has a mature community that can support every type of developer, starting from beginners’ level to expert level. There are enough guides, tutorials, and documentation available on the Python programming language, which helps the developers to understand the language faster and better. Because of its supportive community, Python has rapid growth compared to other languages.

Disadvantages of Python

  • Speed: Compared to Java or C, the rate of Python is slower. Python is an interpreted language that is dynamically typed. For the execution of a code, each line of the code needs to be explicitly ordered since the language gets interpreted. This is time-consuming, and hence it slows down the process of execution. The dynamic structure of Python also slows its speed because while executing the code, the excess work also needs to be completed. Therefore, in cases where fast acceleration is required, Python is not used there very commonly.

  • Memory consumption: Python has a very high memory consumption. This is because it is flexible to the data types. It uses large amounts of memory. Python is not a good choice for tasks where the user wants to optimize memory, i.e., a memory-intensive language.

  • Mobile development: Python is strong in server platforms and desktops, and hence it is a fantastic server-side programming language. But it is not appropriate for mobile development. For mobile development, Python is a fragile language. Since it is not memory efficient and has a prolonged power for processing, due to these reasons, Python does not have many built-in mobile applications. Carbonnelle is a built-in application present in Python.

  • Database access: Python provides easy programming. However, when it interacts with the database, some issues arise. Compared to technologies like JDBC and ODBC, which are pretty famous, the database access layer of the Python programming language is primitive and underdeveloped. Large enterprises that usually need smooth interaction with complex legacy data do not prefer the usage of Python.

  • Runtime errors: The users of Python mentioned various issues they faced with the language design. Since the language of Python is dynamically typed, there can be changes in the data type of a variable at any time. Therefore, it needs to be tested more often, and also, there are errors in the language displayed during runtime.

  • Simplicity: Python is a straightforward and easy-to-use programming language which is also a disadvantage of the language. The users of Python get so accustomed to its easy syntax and extensive library feature that they face issues while learning other programming languages. Some users also feel that the Java codes are unnecessary due to their complexity. Therefore, Python has a very vulnerable nature, and the users start taking everything lightly.


Applications of Python.

  • Artificial Intelligence
  • Desktop Application
  • Automation
  • Web Development
  • Data Wrangling, Exploration And Visualisation.

Reference:

About

Python BoootCamp by Lux Academy and Data Science East Africa Guide

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published