The world’s leading publication for data science, AI, and ML professionals.

A Comprehensive Beginner’s Guide to Python

Learn the basics of Python, including data types, flow control statements, functions, and modules

Python is a popular, high-level programming language known for its simplicity, readability, and flexibility. It is a versatile language that can be used for a wide range of applications, from web development and scientific computing to data analysis and Artificial Intelligence.


Getting Started

To start using Python, you need to have it installed on your computer. The latest version of Python can be downloaded from the official Python website (https://www.python.org/). Once you have downloaded and installed Python, you can start using it by opening the Python interpreter.

On Windows, you can open the interpreter by going to Start > Programs > Python 3.X (where X is the version number you installed), and then clicking on the "Python 3.X" icon.

On Mac, you can open the interpreter by going to Applications > Utilities > Terminal, and then typing "python3" and pressing Enter.

Once the interpreter is open, you can start using Python by typing commands and seeing the results immediately.

For example, you can type print("Hello, World!") and press Enter to see the output "Hello, World!".


Basics of Python

Python is an interpreted, high-level, general-purpose programming language. This means that it is executed by the interpreter at runtime, rather than being compiled into machine code, which makes it easy to write and debug. It is also a high-level language, which means that it abstracts away many of the low-level details of the computer, such as memory management and garbage collection, and provides a higher-level, more intuitive interface for the programmer.

Python is an object-oriented language, which means that it organizes data and the functions that operate on that data into reusable units called objects.

Objects can be thought of as containers that hold data and the functions that operate on that data. This allows you to write modular, reusable code that is easy to maintain and extend.

Python is dynamically-typed, which means that you don’t need to specify the data type of a variable when you declare it. The interpreter will automatically infer the data type based on the value you assign to the variable. For example, the following code assigns the integer value 10 to the variable a and the string value "Hello, World!" to the variable b, without specifying their data types:

a = 10
b = "Hello, World!"

It’s dynamic because you can assign another value of a different data type to the same variable; hence, it is dynamically-typed. This is in contrast to statically-typed languages, where a variable can only hold values of a specific data type. This dynamic typing allows for greater flexibility and makes it easier to write and maintain code.


Data Types

In Python, there are several built-in data types that you can use to store and manipulate data. These data types include:

  • Numbers: Python has support for both integer and floating-point numbers. Integer numbers are whole numbers that can be positive, negative, or zero, while floating-point numbers are numbers with decimal points. For example, 10, -5, and 0 are all integers, while 3.14, 1.23e2, and -2.5 are all floating-point numbers.
  • Strings: A string is a sequence of characters, such as a word, a sentence, or a paragraph. In Python, strings are enclosed in single or double quotes. For example, "Hello, World!", 'Python is fun', and "123" are all strings. Strings are immutable, meaning they cannot be modified once they are created.
  • Booleans: A boolean value is a binary value that can either be True or False. Booleans are often used in conditional statements to control the flow of the program. For example, the following code uses a boolean value to control whether a loop is executed:
flag = True

if flag:
    # code to be executed
else:
    # code to be executed if the flag is False
  • Lists: A list is an ordered collection of values. In Python, a list is enclosed in square brackets ([]) and the values in the list are separated by commas. A list can contain values of different data types, including other lists. For example, the following code creates a list of strings:
fruits = ["apple", "banana", "cherry"]
  • Tuples: A tuple is similar to a list, but like strings, it is immutable, which means that you cannot modify its values once it is created. In Python, a tuple is enclosed in parentheses (()) and the values in the tuple are separated by commas. Like a list, a tuple can contain values of different data types, including other tuples. For example, the following code creates a tuple of numbers:
coordinates = (10, 20, 30)
  • Dictionaries: A dictionary is a collection of key-value pairs. In Python, a dictionary is enclosed in curly braces ({}) and the key-value pairs are separated by commas. The keys in a dictionary must be unique and they are used to look up the corresponding values. For example, the following code creates a dictionary of colors and their hexadecimal values:
colors = {
    "red": "#ff0000",
    "green": "#00ff00",
    "blue": "#0000ff"
}

Flow Control

Flow control statements are used to control the flow of execution in a program. In Python, there are several flow control statements that you can use, including:

  • if-elif-else: The if-elif-else statement is used to execute a different block of code based on a specified condition. The if clause specifies the condition that is tested, and the elif (short for "else if") and else clauses specify the alternative actions that are taken if the condition is not met. For example, the following code uses an if-elif-else statement to print a message depending on the value of a variable:
score = 75

if score >= 90:
    print("Excellent!")
elif score >= 80:
    print("Good job!")
else:
    print("Keep trying.")
  • for: The for loop is used to iterate over a sequence of values. In Python, a for loop has the following syntax:
for variable in sequence:
    # code to be executed

The variable is a placeholder for the current value in the sequence, and the code in the loop is executed for each value in the sequence.

For example, the following code uses a for loop to print the elements in a list:

fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)
  • while: The while loop is used to repeat a block of code while a specified condition is True. In Python, a while loop has the following syntax:
while condition:
    # code to be executed

The code in the loop is executed until the condition becomes False. For example, the following code uses a while loop to print the numbers from 1 to 10:

n = 1

while n <= 10:
    print(n)
    n += 1

When n reaches 10, the condition n ≤ 10 evaluates to False, and the code within the while loop is not executed.


Functions

A function is a block of reusable code that performs a specific task. In Python, a function is defined using the def keyword, followed by the function name and the function’s parameters enclosed in parentheses (()). The code in the function is indented, and the function ends with a return statement that specifies the value to be returned. For example, the following code defines a function that calculates the area of a rectangle:

def rectangle_area(width, height):
    area = width * height
    return area

To call a function, you simply need to use its name followed by the required arguments enclosed in parentheses. For example, the following code calls the rectangle_area function and prints the result:

result = rectangle_area(10, 20)
print(result)  # Output: 200

Modules

A module is a Python file that contains a collection of related functions and variables. You can use modules to organize your code and make it more reusable and maintainable. In Python, you can use the import keyword to import a module and access its functions and variables. For example, the following code imports the math module and uses its sqrt function to calculate the square root of a number:

import math

result = math.sqrt(9)
print(result)  # Output: 3.0

You can also use the from keyword to import specific functions or variables from a module. For example, the following code imports the pi variable from the math module and uses it to calculate the area of a circle:

from math import pi

def circle_area(radius):
    area = pi * radius ** 2
    return area

result = circle_area(5)
print(result)  # Output: 78.53981633974483

Conclusion

This guide provides a brief introduction to Python, covering its basics, data types, flow control statements, functions, and modules. Python is a powerful, versatile language that can be used for a wide range of applications. Whether you are a beginner looking to learn a new programming language or an experienced developer looking to expand your skills, Python is a great choice.


Related Articles