Category: Python Articles

  • Variables and Data Types (with Examples & Output)

    🎯 Learning Objectives

    By the end of this module, students will be able to:

    • Understand what variables are and how to use them.
    • Identify and apply different data types.
    • Perform type conversions (casting).
    • Avoid common variable naming mistakes.

    🧠 1. What is a Variable?

    • A variable is a name that refers to a value stored in memory.
    • Think of it as a label on a box that stores a piece of data.
    name = "Alice"
    age = 20
    

    name holds "Alice", age holds 20.

    🗂️ 2. Python Data Types

    Data TypeExampleDescription
    int25Whole numbers
    float3.14Decimal numbers
    str"Hi"Text values
    boolTrueLogical values (True/False)

    Example:

    x = 10        # int
    y = 3.5       # float
    name = "Sam"  # str
    flag = True   # bool
    

    📝 3. Variable Naming Rules

    Valid Names:

    • Must begin with a letter or _
    • Can contain letters, digits, and underscores
    • Case-sensitive (nameName)

    Example :

    # 2name = "Alex"    ❌ starts with number
    # user-name = "Bob" ❌ contains dash
    # my name = "Joe"   ❌ contains space
    

    🔄 4. Type Conversion (Casting)

    age = "20"          # str
    nextyearage=age+1   
    
    #TypeError: can only concatenate str (not "int") to str
    
    nextyearage=int(age)+1   
    print (nextyearage)      # 21
    

    Use int(), float(), str(), bool() for conversions.

    🧪 5. Checking Data Types

    use type() function

    print(type(10))        # <class 'int'>
    print(type("hello"))   # <class 'str'>
    

    ⚠️ 6. Common Mistakes

    MistakeWhy it’s wrongFix
    "age" + 5Can’t add string and integerConvert first: int("age") + 5
    user name = "Tom"Variable names can’t have spacesUse underscore: user_name

    🧩 7. Practice Time (Live Demo)

    1. Create a variable city and assign your city name.
    2. Create variables for your birth year and calculate your age.
    3. Convert a float to a string and print the result and type.
    4. Check if bool(0) and bool("Hi") return True or False.

    📚 Quick Recap

    • Variables hold data values.
    • Data types define the kind of value.
    • Use type() to inspect types.
    • Convert types using casting functions like int(), str().
    • Follow naming rules for valid variables.

    Example 1:

    name = "John"
    age = 28
    height = 5.9
    
    print(name)
    print(age)
    print(height)
    
    Output

    John
    28
    5.9
    


    Example 2: Check Data Type

    print(type(name))   # str
    print(type(age))    # int
    print(type(height)) # float
    
    Output

    <class 'str'>
    <class 'int'>
    <class 'float'>
    


    Example 3: Type Casting

    age = 28
    height = 5.9
    
    age = float(age)
    height = str(height)
    
    print(age)
    print(type(age))
    print(height)
    print(type(height))
    
    Output

    28.0
    <class 'float'>
    5.9
    <class 'str'>
    

    Example 4: Assign multiple values in one line.

    a, b, c = 1, 2, 3
    print(a, b, c)
    
    Output

    1 2 3
    


    Example 5: Assign Same Value to Multiple Variables

    x = y = z = "Python"
    print(x, y, z)
    
    Output

    Python Python Python
    


    Example 6: String Concatenation using Variables

    first = "Hello"
    last = "World"
    message = first + " " + last
    print(message)
    
    Output

    Hello World
    


    Example 7: Numeric Calculation Using Variables

    price = 50
    quantity = 3
    total = price * quantity
    print("Total:", total)
    
    Output

    Total: 150
    


    Example 8: Boolean Example

    is_logged_in = True
    print("Login status:", is_logged_in)
    
    Output

    Login status: True
    


    Example 9: Dynamic Typing in Python

    var = 10
    print(type(var))  # int
    
    var = "Ten"
    print(type(var))  # str
    
    Output

    <class 'int'>
    <class 'str'>
    


    Example 10: Input and Type Conversion

    name = input("Enter your name: ")
    age = int(input("Enter your age: "))
    print(f"Hello {name}, you are {age} years old.")
    
    Output

    Enter your name: Alex
    Enter your age: 21
    
    Hello Alex, you are 21 years old.
    


    Example 11: Using type() in Debugging

    value = "123"
    print(value + " is a string")      # works
    # print(value + 5)                 # ❌ TypeError
    
    value = int(value)
    print(value + 5)                   # ✅ Now works
    
    Output

    123 is a string
    128
    


    Example 12: Calculate the Area of a Rectangle

    length = 10
    width = 5
    area = length * width
    print("Area of rectangle:", area)
    
    Output

    Area of rectangle: 50
    


    Example 13: Store and Display Product Info

    product_name = "Laptop"
    price = 799.99
    in_stock = True
    
    print("Product:", product_name)
    print("Price: $", price)
    print("Available:", in_stock)
    
    Output

    Product: Laptop
    Price: $ 799.99
    Available: True
    


    Example 14: Temperature Storage in Celsius and Fahrenheit

    celsius = 25
    fahrenheit = (celsius * 9/5) + 32
    
    print("Celsius:", celsius)
    print("Fahrenheit:", fahrenheit)
    
    Output

    Celsius: 25
    Fahrenheit: 77.0
    


    Example 15: Using Variables to Format Strings

    name = "Sara"
    score = 95
    
    print(f"{name} scored {score} points.")
    
    Output

    Sara scored 95 points.
    


    Example 16: Variable Reassignment

    x = 10
    print("Before:", x)
    
    x = 20
    print("After:", x)
    
    Output

    Before: 10
    After: 20
    


    Example 17: Using bool() Function

    print(bool(0))      # False
    print(bool(123))    # True
    print(bool(""))     # False
    print(bool("Hi"))   # True
    
    Output

    False
    True
    False
    True
    


    Example 18: Type Conversion with Errors (Demonstration)

    x = "ten"
    # y = int(x)  # This will cause an error
    
    print("Cannot convert non-numeric string to integer")
    
    Output

    Cannot convert non-numeric string to integer
    


    Example 19: Combining Strings and Numbers with Casting

    name = "Liam"
    score = 88
    
    print(name + " scored " + str(score) + " marks.")
    
    Output

    Liam scored 88 marks.
    


    Example 20: Constants (Using UPPERCASE by Convention)

    PI = 3.14159
    radius = 7
    area = PI * radius * radius
    
    print("Circle Area:", round(area, 2))
    
    Output

    Circle Area: 153.94
    

    Welcome to the Python Programming Quiz!

    Test your knowledge by selecting the correct answers. You will immediately see if you’re right or wrong.

    Score: 0
  • Python Modules and Libraries: How to Use and Import Them


    1. Introduction

    “Hello everyone! Welcome back to our Python learning series. Today, we are going to talk about a very interesting topic: Modules and Libraries in Python. Whether you’re a student or working in an office, this concept will save you time and effort in coding. Let’s dive in!”


    2.What Are Modules and Libraries?

    • Definition of Modules:
      “Modules are like tools. Instead of writing everything from scratch, you can use these pre-built tools to do tasks quickly. For example, Python has a module called math for calculations.”
    • Definition of Libraries:
      “A library is a collection of many modules. Think of it like a toolbox full of different tools for different tasks. Libraries like pandas and openpyxl are used for tasks like managing Excel files.”

    3. How to Import Modules –

    • Basic Syntax:
    import module_name
    

    “For example, to use the math module, just type: import math.”

    • Example 1: Calculate Square Root with math Module
    import math 
    result = math.sqrt(16) 
    print("The square root of 16 is:", result)
    

    4. Import Specific Function:

    from math import sqrt 
    result = sqrt(25) 
    print("Square root of 25 is:", result)
    
    • “This way, we import only the part we need, making the code shorter.”

    5. Examples for Modules

    1. random Module for Selecting Random Items
    import random students = ["Amit", "Priya", "Rahul", "Sneha"] 
    chosen = random.choice(students) 
    print("The chosen student is:", chosen)
    

    2. datetime for Date and Time

    from datetime import datetime 
    now = datetime.now() 
    print("Current date and time:", now)
    

    6. Examples Useful Libraries

    1. openpyxl for Excel Files
      • “Imagine you have an Excel file and want to automate tasks like reading or writing data.”
    from openpyxl import Workbook
    workbook = Workbook() 
    sheet = workbook.active 
    sheet["A1"] = "Hello, Excel!"
    workbook.save("example.xlsx")
    print("Excel file created!")
    

    2. os for Managing Files

    • “This library helps you work with files and folders directly in Python.”

    import os os.makedirs("NewFolder") 
    print("Folder created!")
    

    7. How to Install External Libraries

    • Using pip Command:
      “To install a library not built into Python, use the pip command in command prompt. For example:
    pip install pandas 

    “This installs the pandas library, which is great for handling large datasets.


    Pre-installed modules and libraries:

    Python comes with a standard library that includes many pre-installed modules and libraries, making it easy to perform a wide range of tasks without installing additional packages. Below are some of the commonly used predefined modules and libraries included in Python:


    1. General Purpose Modules

    • sys: Provides access to system-specific parameters and functions.
      • Example: sys.argv for command-line arguments.
    • os: For interacting with the operating system.
      • Example: os.listdir() to list files in a directory.
    • time: Handles time-related tasks.
      • Example: time.sleep() to pause execution.
    • datetime: For working with dates and times.
      • Example: datetime.date.today() to get the current date.
    • platform: Provides information about the platform (OS, Python version, etc.).
      • Example: platform.system() to get the OS name.

    2. File and Directory Handling

    • shutil: High-level file and directory operations.
      • Example: shutil.copy() to copy files.
    • pathlib: Object-oriented approach to working with file paths.
      • Example: Path().exists() to check if a file exists.
    • glob: To find file paths using patterns.
      • Example: glob.glob('*.txt') to find all text files.

    3. Data Handling and Manipulation

    • json: For working with JSON data.
      • Example: json.dumps() to convert Python objects to JSON.
    • csv: For reading and writing CSV files.
      • Example: csv.reader() to read CSV files.
    • sqlite3: For working with SQLite databases.
      • Example: sqlite3.connect() to connect to a database.
    • pickle: For serializing and deserializing Python objects.
      • Example: pickle.dump() to save objects to a file.

    4. Math and Statistics

    • math: Provides mathematical functions.
      • Example: math.sqrt() to find the square root.
    • statistics: For statistical calculations.
      • Example: statistics.mean() to calculate the average.
    • random: For generating random numbers.
      • Example: random.randint() for random integers.

    5. Internet and Web

    • urllib: For working with URLs.
      • Example: urllib.request.urlopen() to fetch web pages.
    • http: For handling HTTP requests.
      • Example: http.client for HTTP communication.
    • email: For email processing.
      • Example: email.message to create email messages.

    6. Text Processing

    • re: For regular expressions.
      • Example: re.search() to search patterns in text.
    • string: Common string operations.
      • Example: string.ascii_letters to get all alphabets.
    • textwrap: For wrapping and formatting text.
      • Example: textwrap.wrap() to wrap text to a specified width.

    7. Debugging and Testing

    • logging: For logging messages.
      • Example: logging.info() to log informational messages.
    • unittest: For writing test cases.
      • Example: unittest.TestCase to define test cases.
    • pdb: Python debugger for debugging code.
      • Example: pdb.set_trace() to set a breakpoint.

    8. Networking

    • socket: For network communication.
      • Example: socket.socket() to create a socket.
    • ipaddress: For working with IP addresses.
      • Example: ipaddress.ip_network() to define a network.

    9. GUI Development

    • tkinter: For creating graphical user interfaces.
      • Example: tkinter.Tk() to create a window.

    10. Cryptography and Security

    • hashlib: For generating secure hashes.
      • Example: hashlib.md5() to generate MD5 hashes.
    • hmac: For keyed-hashing for message authentication.
      • Example: hmac.new() to create a hash object.

    11. Advanced Topics

    • itertools: For efficient looping.
      • Example: itertools.permutations() to generate permutations.
    • functools: For higher-order functions.
      • Example: functools.reduce() to reduce a list.
    • collections: High-performance data structures.
      • Example: collections.Counter() to count elements in a list.

    n Python, the terms module and library are often used interchangeably, but they do have slight distinctions:

    Key Differences

    • Module: A single Python file containing definitions (functions, classes, variables) and code.
    • Library: A collection of modules that provide related functionality. For example, Python’s standard library is a collection of modules and packages included with Python.

    Now, let’s clarify which items in the above list are modules and which are libraries:

    General Purpose

    • sys: Module
    • os: Module
    • time: Module
    • datetime: Module
    • platform: Module

    File and Directory Handling

    • shutil: Module
    • pathlib: Module
    • glob: Module

    Data Handling and Manipulation

    • json: Module
    • csv: Module
    • sqlite3: Module
    • pickle: Module

    Math and Statistics

    • math: Module
    • statistics: Module
    • random: Module

    Internet and Web

    • urllib: Library (contains submodules like urllib.request and urllib.parse)
    • http: Library (contains submodules like http.client and http.server)
    • email: Library (contains submodules like email.message and email.mime)

    Text Processing

    • re: Module
    • string: Module
    • textwrap: Module

    Debugging and Testing

    • logging: Module
    • unittest: Library (contains submodules like unittest.mock)
    • pdb: Module

    Networking

    • socket: Module
    • ipaddress: Module

    GUI Development

    • tkinter: Library (contains modules like tkinter.ttk and tkinter.messagebox)

    Cryptography and Security

    • hashlib: Module
    • hmac: Module

    Advanced Topics

    • itertools: Module
    • functools: Module
    • collections: Module

    Most famous external libraries in Python

    1. Data Science and Machine Learning

    • NumPy: For numerical computing and handling multi-dimensional arrays.
    • Pandas: For data manipulation and analysis.
    • Matplotlib: For creating static, animated, and interactive visualizations.
    • Seaborn: For statistical data visualization built on top of Matplotlib.
    • Scikit-learn: For machine learning, including classification, regression, and clustering.
    • TensorFlow: For deep learning and AI.
    • PyTorch: Another powerful deep learning library.
    • Keras: A high-level API for TensorFlow, focusing on ease of use.
    • Statsmodels: For statistical modeling and hypothesis testing.

    2. Data Visualization

    • Plotly: For interactive visualizations, including charts, graphs, and dashboards.
    • Bokeh: For creating interactive visualizations in a web browser.
    • Altair: Declarative statistical visualization library for Python.

    3. Web Development

    • Django: A high-level web framework for rapid development and clean, pragmatic design.
    • Flask: A lightweight and flexible web framework.
    • FastAPI: A modern web framework for building APIs with Python 3.6+.
    • Bottle: A micro web framework that is simple to use.

    4. Automation and Scripting

    • Selenium: For automating web browsers.
    • BeautifulSoup: For web scraping and parsing HTML/XML.
    • Requests: For making HTTP requests easily.
    • PyAutoGUI: For GUI automation tasks like controlling the mouse and keyboard.

    5. Game Development

    • Pygame: For developing 2D games.
    • Godot: Python bindings for the Godot game engine.
    • Arcade: Another library for developing 2D games.

    6. Networking

    • SocketIO: For WebSocket communication.
    • Paramiko: For SSH and SFTP.
    • Twisted: For event-driven networking.

    7. Database Handling

    • SQLAlchemy: For database access and object-relational mapping (ORM).
    • PyMongo: For MongoDB interaction.
    • Psycopg2: For working with PostgreSQL databases.

    8. Cryptography and Security

    • Cryptography: For secure encryption and decryption.
    • PyJWT: For JSON Web Tokens (JWT) authentication.
    • Passlib: For password hashing.

    9. GUI Development

    • PyQt: For building cross-platform graphical applications.
    • Kivy: For developing multi-touch applications.
    • Tkinter: The standard GUI toolkit for Python.

    10. Testing

    • pytest: A powerful framework for testing.
    • unittest: Built-in testing framework (but pytest is more flexible).
    • Mock: For mocking objects in tests.

    11. File Handling

    • PyPDF2: For working with PDF files.
    • OpenPyXL: For reading and writing Excel files.
    • Pillow: For image manipulation and processing.

    12. Other Popular Libraries

    • pytz: For timezone handling.
    • Arrow: For working with dates and times in an easy and human-friendly way.
    • Shapely: For geometric operations.
    • Geopy: For geocoding and working with geographic data.
    • MoviePy: For video editing.

    13. AI and Natural Language Processing (NLP)

    • NLTK: For natural language processing.
    • spaCy: Another NLP library for processing large text datasets.
    • OpenCV: For computer vision and image processing.
    • transformers (by Hugging Face): For working with state-of-the-art NLP models.