Skip to content

vandanagarg/practice_python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

217 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

practice_python

Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms.

Well, these are the lines that one can easily read about python in its documentation. python_documentation

But for a beginner or for a person coming from a complete different background like me; all this makes a very little sense or is just not at all motivating to learn Python.

So who am I? Why Python? How did I start? What all I did? How I feel now?

All these questions are answered just below 😃
  • I am DWH-BI / ETL resource with Informatica as primary skill.
  • As I was looking for new opportunities further, I realized having knowledge of one programming language will certainly help me.
  • So I had started with a python_course on Udemy.
  • Below are the details what I have learnt in this course and where you can find the resources of all the topics covered.
  • I successfully completed the course and here is the link for the course completion certificate.
  • So under this repository practice_python, I have maintained all python code and projects that I have worked on while learning python.
  • You can find all programs and problem statements that I have implemented under folder learning_python.
  • Folder data_engineering_project contains a data engineering problem implemented using Python.

Project Description learning_python

Language :- Python

Databases :- MySQL

Command Line :- Terminal

Tools/ IDE :- Pycharm, Jupyter Notebook

Version Control system :- Git

Operating System :- Windows, MAC-OSX

Text Editor :- Sublime Text, Visual Studio Code

Framework :- Pandas

I have divided and structured the folder as per the sections covered and problems implemented by me. Given below are the links and details of the different topics covered under the course.
  • First I have started with basics of python programing and implementation of various data structures (Numbers, Strings, Lists, Dictionaries, Tuples, Sets, Booleans).

    1. Boolean I have shown the usage of boolean using a small function.

    2. Numbers (Integers and float) In here are two files where I have implemented some simple Python commands.

    3. Strings Besides numbers, Python can also manipulate strings, which can be expressed in several ways. They can be enclosed in single quotes ('...') or double quotes ("...") The files in this folder contain a few examples and exercises using strings.

    4. Lists Python knows a number of compound data types, used to group together other values. The most versatile is the list, which can be written as a list of comma-separated values (items) between square brackets. Lists might contain items of different types, but usually the items all have the same type. The files here have some commands and functions for list rotation.

    5. Dictionaries It is best to think of a dictionary as a 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. The files describe some looping techniques and basic commands/functions using dictionaries. Also, it shows usage of some data types of collection module:

      a. Counter It is a dict subclass.

      b. defaultdict It is a dictionary like object which provides all methods provided by dictionary but takes first argument (default_factory) as default data type for the dictionary.

      c. OrderedDict It's a dictionary subclass that remembers the order in which it's contents are added.

    6. Sets A set is an unordered collection with no duplicate elements. The file shows some basic commands and mathematical operations like union, intersection, difference, and symmetric difference.

    7. Tuple A tuple consists of a number of values separated by commas. Thus the file shows basic operations with tuple and implementation of namedtuple found in collection module.

    8. Exercises The folder contains a number of functions implemented using different data structures and its properties.

  • Moving next to various important concepts python operators, type casting , branching statements, loops and functions.

    1. Python operators It covers basic examples and commands of operators in python.

    2. Type Casting It shows the usage and importance of type casting while printing results within a function.

    3. Branching Statements Shows working of if else statements and program flow.

    4. Loops It shows different examples using functions of most commonly used for and while loops.

    5. Functions It shows usage of various important functions used in python and creating our own functions taking different examples from the course.

      a. *args and **kwargs

      b. enumerate

      c. input function

      d. map, filter, lambda function.

      e. zip function.

      f. exersises

  • Moving to advance concepts of oops; making class, modules and packages.

    1. Classes This folder contains a few examples of user defined classes.

    2. Modules and Packages It shows usage of a few python inbuilt modules and how to import a module within your code and use it.

      a. datetime module.

      b. importing module Importing a .py script in your code and using its existing functionality.

      c. pdb Python debugger module.

      d. StringIO module.

      e. timeit module.

  • Moving on to error handling.

    There are (at least) two distinguishable kinds of errors: syntax errors and exceptions.The folder contains a few programs that handle selected errors/exceptions.

  • I have also learnt about various important concepts of Inheritance, Python Decorators and Generators in this course. Each folder contains a few examples, elaborating its usage and implementation.

    1. Inheritance

    2. decorator

    3. generators

  • Covering very commonly used regular expressions.

    String Pattern Matching The re module provides regular expression tools for advanced string processing. For complex matching and manipulation, regular expressions offer succinct, optimized solutions. This folder contains a few examples of re module.

  • Working with files.

    Being in data engineering field it is very important to learn to how to read, write, cleanup or do various operations with a file. Here these folders include basic and important commands used for file manipulations.

    1. Basic read write operations on a file working_with_files.

    2. Working with csv file.

  • Unit testing

    TDD is very important aspect of development these days. Thus its very important to know and understand how to create your unit test/ classes. This folder shows 2 examples of making your own unit test class/case.

  • I am implementing a couple of famous problems and have divided some of them on basis of data structures.

    1. black_jack_game

    2. mad_libs_game

    3. various numbers problems.

    4. various text problems.

    5. tic_tac_toe game.

  • I have used mostly used Pycharm to implement most of my problems but I have also Jupyter notebook so as to become familiar with this IDE. So the folder working_with_jupyter_notebooks contains a few problems of functions , loops, data structures etc.

  • Folder code_kata contains solutions for different code kata's.

  • Folder mit_lectures contains solved problems and concepts related to python covered under MIT tutorials.

  • Further this I will be working on a few frameworks in python and how can these be implemented in different fields such as machine learning or data engineering.

P.S. : I am actively looking for Data Engineering job opportunities in Berlin. If you have got any reference, please reach out to me 😃

📧 vandana.sde@gmail.com

💻 https://www.linkedin.com/in/vandana-garg/

About

Practicing Python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors