Python

Python is a general-purpose programming language that is becoming ever more popular for data science. Companies worldwide are using Python to harvest insights from their data and gain a competitive edge. 

Python has a straightforward syntax and is often easier for beginners to pick up compared to other programming languages. This makes it a great language for people from various backgrounds to begin

Data Structure

python support 4 data structures 
Lists
Tuples
Sets
Dictionaries
List: Is a collection of elements or pythons form of an array, it holds multiple data types like string, integer, index start 0, its dynamic in nature that means it can go any length, mutable that means you can alter the contents, specified in square brackets. my_fruitlist = ["cherry", "watermelon", "orange"]
Tuples : Similar to List , form of an array, Holds no of data types like, String, number, but in list we use square brackets [], tuples we use parenthesis (), we pass index to grab an element
Set : A set is an unordered collection of unique items and that kind of looks like a dictionary in that it does use curly braces,
Dictionary: Dictionaries are a hash table, as it is known in other languages for Python, and it essentially consists
of a key value pair or a key item pair .


Modules:
Python's standard library covers a wide range of modules. Everything from modules that are as much a part of the Python language as the types and statements defined by the language specification, to obscure modules that are probably useful only to a small number of programs. This section describes a number of fundamental standard library modules. Any larger Python program is likely to use most of these modules, either directly or indirectly.
Built-in Functions and Exceptions Two modules are even more basic than all other modules combined: the __builtin__ module defines built-in functions (like len, int, and range), and the exceptions module defines all built-in exceptions. Python imports both modules when it starts up, and makes their content available for all programs.

Environments

By default, any Python interpreter installed runs in its own global environment. For example, if you just run python, python3, or py at a new terminal (depending on how you installed Python), you're running in that interpreter's global environment. Any packages that you install or uninstall affect the global environment and all programs that you run within it.
There are two types of environments that you can create for your workspace: virtual and conda. These environments allow you to install packages without affecting other environments, isolating your workspace's package installations.

A virtual environment is a built-in way to create an environment. A virtual environment creates a folder that contains a copy (or symlink) to a specific interpreter. When you install packages into a virtual environment it will end up in this new folder, and thus isolated from other packages used by other workspaces.
Note: While it's possible to open a virtual environment folder as a workspace, doing so is not recommended and might cause issues with using the Python extension.

Conda environments
A conda environment is a Python environment that's managed using the conda package manager (see Getting started with conda).Choosing between conda and virtual environments depends on your packaging needs, team standards, etc.

Links https://wiki.python.org/moin/BeginnersGuide/Examples

Machine Learning

	1. PyML
2. PyBrain
3. scikit-learn
4. MDP Toolkit
5. GraphLab Create
6. MIPy