
Learn how to install the Python interpreter from python.org, add Python to path, and set up PyCharm Community Edition, the popular Python IDE, to start writing Python programs.
Discover how to set up a PyCharm project, create a hello world Python file, and run it to see the print function, built-in functions, and basic error handling.
Discover how Python treats strings as a collection of characters and learn to create, print, and manipulate them using single, double, and triple quotes.
Learn string concatenation with plus, string multiplication with asterisk, and manage quotes using escape sequences and raw strings. Print multiple values and explore triple quotes.
Explore arithmetical operators in Python, including addition, subtraction, multiplication, division, floor division, modulus, and exponentiation, with precedence rules and practical examples.
Python uses booleans true and false to represent yes and no, and you can use them to check conditions, such as equality or less-than comparisons, yielding boolean results.
Master Python comparison operators such as ==, !=, <, >, <=, >= to compare values and yield booleans. See a pass marks example (>=40) and view the cheat sheet.
Explore Python logical operators and, or, and not to combine boolean conditions, evaluate comparisons, and apply real-world scenarios with true and false values.
Master Python variables: create, assign, and overwrite values (numbers, strings, booleans), access data in memory, and use arithmetic, logical, and comparison operators.
Learn Python variable naming rules: start with a letter or underscore, do not start with a digit, and allow letters, digits, and underscores. Use snake_case or camelCase, noting case sensitivity.
Master Python assignment operators by updating a variable with x = x + 5 and x += 5, and use +, -, *, /, //, %, ** for assignment.
Master Python string slicing by using positive and negative indices, start:end ranges, and concatenation to extract substrings like 'computer' or 'mpu' while handling out-of-range errors.
Learn to check strings in Python without regular expressions, using in and not in, starts with, ends with, count, index and find, and len for emails and websites.
Discover how to merge strings with variables using concatenation, the format method, and f-strings, and format numbers with commas, signs, decimals, and percentages for clear output.
Explore python string casing with upper, lower, title, capitalize, and swapcase, and validate content using is_upper, is_lower, is_title, is_alpha, is_digit, is_all_num, and is_space.
Explain how strings are immutable and how to create modified strings using replace, split, partition, strip, and the ljust, rjust, center, and z fill functions.
Explore how Python treats every value as an object belonging to a data type or class, including int, float, complex, bool, and str, using type and isinstance checks.
Master Python type conversion by turning user input strings into int or float for arithmetic, using str for stringification, handling concatenation, and exploring ASCII with ord and chr.
Learn how Python treats truthy and falsy values by converting user inputs to boolean with bool, recognizing empty strings, zero, and empty collections as false, while non-empty values are true.
discover how to use None to represent unknown or uninitialized values in Python by assigning a None placeholder, checking with is, and updating later.
Explain implicit type conversion, where Python automatically promotes integers to floating point during arithmetic with a float, yielding a float result.
Explore common number systems such as binary, decimal, hexadecimal, and octal, and learn how Python's bin converts a decimal number to binary, including the 0b prefix.
Convert decimal to octal by dividing by eight, collect remainders to form 441 for 289, and prefix with 0o to indicate octal digits 0 to 7.
Explore the hexadecimal number system, its digits 0–9 and a–f, and convert between decimal, binary, and octal using Python’s hex, bin, oct, and int functions for color codes.
learn how to convert strings to integers in python using int with a base, handle default decimal, and use base 2, 8, or 16 for binary, octal, and hexadecimal inputs.
Learn to merge numbers with strings using the format method and convert between binary, hex, octal, and exponent formats in Python.
Learn Python math functions like min, max, pow, and abs, and rounding with round, floor, and ceil via the math module, including precision and the bias to even numbers.
Master python's math module to compute square roots with sqrt, factorials, and pi, and use eval to calculate string expressions for calculator-like apps, including min, max, pow, abs, and round.
Discover how Python dynamically allocates memory for objects in the stack and arena, reuses identical objects, and stores variable references as memory addresses.
Discover how Python memory allocation uses object references, showing when variables share or create objects for numbers, immutables, and the effects of del and guard base collection on dead objects.
Understand Python's mutable and immutable types, how assignment uses addresses to create objects or update references, and which types are immutable (strings, numbers, booleans, tuples) versus mutable (lists, dicts, sets).
Explore how to swap two variables in Python, why setting a to b and then b to a fails, and how a temporary variable enables value swapping with memory-reference intuition.
Learn how to read values from the keyboard using Python's input function, store them in variables, and optionally convert to integers for arithmetic and display.
Learn how Python lists store multiple values with square brackets and how to create empty lists. Discover that lists can contain mixed data types and how len reports their size.
Learn to work with Python lists by using forward indexing from zero and backward indexing from -1, and by slicing lists with start and end indices to extract elements.
Learn how to search list elements in Python using in and not in, count, and index to find existence, counts, and positions, including handling multiple occurrences and not found errors.
Explore how to add or change Python list elements: overwrite items by index, and use append, insert, extend, concatenation, and the splat operator, noting list mutability vs string immutability.
Learn to remove elements from a Python list using remove, pop, del, and clear, including by value, by index, multiple elements, and deleting the list object.
Use Python's built-in sort to arrange strings or numbers in ascending or descending order, while avoiding mixed types. Make sorting case-insensitive with key=str.lower and reverse=True for z-to-a.
Explore sorting lists in Python, using sort in place and sorted to create a new list, and apply reverse and case-insensitive options for reversed order.
Copying lists shows that the assignment operator copies the list reference, not its elements; use the copy method to create an independent duplicate list.
Master unpacking lists by assigning each item to a variable, manage mismatches with errors, and use the asterisk to capture remaining values as the rest values.
Learn to use sum, max, min, and math.prod on lists to total prices, find the most expensive and cheapest items, and compute the overall product.
Learn how to use nested lists to model semesters and subjects, access elements by index, and retrieve specific subjects from a multi-level list.
Learn to join a list of values into a string with a chosen separator using the string.join method, with examples using comma or other characters and handling the last element.
Explore how range objects store start, end, and step values and how to convert them to a list to view sequences, including 0 to 9 and reverse ranges.
Explore how tuples store heterogeneous data for a single entity, contrast them with lists for homogeneous fields, and learn that tuples are immutable, ordered, and support indexing and slicing.
Learn how to create empty tuples with empty parentheses, form single-value tuples with a trailing comma, and explore tuple properties like immutability, order, indexing, slicing, and the len function.
Create and access nested tuples in Python by grouping a person’s details with an inner four-number tuple, using outer and inner indices.
Discover how to update tuples in Python by converting to a list, modifying, and converting back, while preserving tuple immutability for read-only data.
Learn how to search values in tuples using count, in, not in, and index, including handling duplicates and non-existent items, with examples showing tuple operations comparable to lists.
Concatenate tuples with the plus operator, which creates a new tuple, then use the splat operator to merge multiple tuples memory-efficiently, and the asterisk to repeat tuples.
Learn to unpack tuples into individual variables using comma-separated assignments and the splash operator to capture remaining values; handle too many or too few values with len checks.
swap two variables using a tuple without a temporary variable by unpacking a two-element tuple into the original variables, following the correct sequence.
Learn how to apply sum, min, max, and product functions to tuples in Python by using the math module, creating a numerical tuple of marks, and computing totals and extremes.
Tuples are immutable, so you cannot delete elements; convert to a list to remove items, then back to a tuple. You can delete the entire tuple with dell keyword.
Explore dictionaries as key value stores, distinct from lists and tuples, with mutable data, key based access, and the get method to handle missing keys gracefully.
Master adding and updating dictionary elements in Python by using keys in square brackets to overwrite values, and the update method to modify multiple keys or add new ones.
Use Python dictionary methods to delete items: pop for a specific key, pop item for the last item, del to remove keys or the dictionary, and clear to empty it.
Learn how to copy dictionaries in Python by using the copy method, the dict constructor, or dictionary unpacking with **, and understand when objects share references versus becoming independent.
Master how to merge two dictionaries in Python using copy and update, kwargs unpacking, or the Python 3.9 union operator, and learn how later dictionaries overwrite shared keys.
Use dict.fromkeys to create a dictionary from a tuple of keys, with an optional default value. Convert a list of key-value pairs into a dictionary using the dict constructor.
Convert two parallel lists into a dictionary by pairing keys from the first list with values from the second using zip and dict, and store the result for later use.
Learn how to extract keys, values, and key-value pairs from a dictionary using keys, values, and items, convert them to lists, and access specific elements by index.
Unpack dictionaries by using the values() method to retrieve values and assign them to variables. Apply the star splat to collect remaining values when variable counts differ, avoiding unpack errors.
Explore how to search Python dictionaries with in and not in, differentiate key searches from value searches, and use the values() method to test values such as george or email.
Create a dictionary inside another dictionary to group related details, like an address with street, city, and postal code, then access nested values and use lists or tuples as values.
Merge dictionary values into a string at specific places using f-strings, format, and format_map. Compare their efficiency to plus concatenation and learn why format_map offers a simpler approach.
Learn to store complex records as a list of dictionaries, compare lists, tuples, and dictionaries, and access employee details by index and key.
Sort a list of dictionaries in Python using sorted with a key, itemgetter from the operator module, to sort by name or by job, including descending order.
Learn how sets in Python store unique values, avoid duplicates via hashing, and remain unordered and unindexed, with guidance on empty set syntax, immutability rules, and pitfalls.
Master how sets are mutable and use the add method to insert elements, illustrated with a cities set including Berlin, while noting that sets are unordered.
Learn to remove elements from a Python set using remove and discard, handle missing items, clear the set, delete it with del, and understand that sets are unordered and unindexed.
Master Python set unions by merging top populated and top largest countries into a new duplicates-free set, using union or the pipe operator, while update adds to the first set.
Learn how to find common elements between two sets in Python using the intersection method or the ampersand operator, and when to use intersection update to modify the original set.
Learn how to compute the difference between two sets in Python by subtracting set two from set one, using difference, the minus operator, and the difference update method.
Learn how symmetric difference isolates elements present in either set but not both. Explore Python set methods and operators, including symmetric_difference and symmetric_difference_update, with real-world examples.
Explore three rarely used set methods: subset, isdisjoint, and disjoint, with practical examples showing how one set can be a subset of another and how disjoint sets share no elements.
Learn about frozenset, python's immutable set, which stores unique values, blocks add or remove operations, and enables read-only data handling with safe union and intersection.
Master flow control in Python using if statements to evaluate true or false conditions and execute code blocks. Understand indentation and the role of else.
Explore Python if-else basics: true and false branches, if and else blocks, and indentation, with examples like pass marks and congratulations messages.
Show how to use the Python if expression to assign a value to a single variable based on a condition, yielding pass or fail in one line.
Explore using if-elif-else to evaluate conditions in sequence, such as grading by marks and handling user input with type conversion. Learn how else provides a fallback when none match.
Explore master conditional logic with nested ifs to branch on a master condition, using inner ifs and else to determine grades, bonuses, and a max of three numbers assignment.
Explore Python for loops to execute code for each value from ranges or collections like lists, triples, or dictionaries, using a loop variable and proper indentation.
Learn how to iterate over lists with for loops in Python, use range and len, access indices with enumerate, and skip items with continue.
Learn how to iterate over tuples with for loops, access elements by index, and use enumerate to obtain index-value pairs; explore range-based access and applying loops to sets.
Iterate over a set with a for loop and print each element; use enumerate to pair a dummy index, but range-based access remains impossible.
Learn how to iterate a dictionary with for loops to access keys, values, and key–value pairs, using values(), items(), and unpacking with practical examples.
Use a for loop with a list of dictionaries to read each dictionary, access values by keys like name, job, and year, and print them with f-strings in real‑world data.
Master list comprehension in Python to build new lists from existing ones, including dictionary comprehension, set comprehension, and frozen set comprehension, with optional filtering and expressions.
Discover how to use any and all with list comprehensions in Python to evaluate conditions across lists, with examples on prices and employee joining years.
Learn dictionary comprehension to create a new dictionary from an existing one with filtering and expressions. Explore keys and values, the dict vs set distinction, and transformations or conditional selections.
Master dictionary comprehension for lists of dictionaries by filtering and transforming data with conditions and expressions, including adding new keys and unpacking with the double star.
Remove duplicates from a list of dictionaries by using a one-line dictionary comprehension keyed by id, which overwrites duplicates, then convert to a list via values to obtain unique dictionaries.
Learn set comprehension in Python by reading elements from a set, applying expressions and conditions to form new sets, including duplicates, frozen sets, and unique names from dictionaries.
Use the continue statement inside a loop to skip the current iteration when a condition is met, then proceed to the next value; illustrated by summing salaries while skipping managers.
Master how the break statement stops a for loop in Python when a condition is met, stopping at a score below 40 to compute total marks.
Use the pass statement to create an empty loop body in Python, avoiding indentation errors while leaving room for future code to be filled by another developer.
Discover how to implement and control while loops in Python, including when to use while versus for, handling user input and menu repetition, and exit conditions.
Explore how the while loop's else block runs after the condition fails, printing farewell messages or performing cleanup, with examples from menus and file reading.
Learn to use the else clause with for and while loops in Python, which runs after the loop finishes, with examples like printing a final message and processing employees.
Demonstrate nested loops in Python using an outer loop to control repetition and an inner loop to execute multiple iterations, with examples on ranges and the end parameter.
Define and call functions to organize code and enable reuse. Learn the difference between procedural and functional programming, and how functions accept arguments and return values with def.
Explore docstrings as function descriptions in Python, using triple quotes to document purpose, arguments, and usage, and hover to reveal the description as a tooltip for multi-developer projects.
Explore how the return statement in Python sends a value back to the caller, with or without a value, and how to use the result.
discover how to call one function from another in Python, manage return values, and avoid infinite loops by preventing mutual calls, with practical examples of country name and continent.
Learn how to return multiple values from a Python function, use tuples to access them by index, and understand the behavior of triple objects in practical examples.
Learn how nested functions place inner functions inside an outer function, making them accessible only within that outer scope, with credit card bill generation as a key example.
Explore global scope in Python, where variables declared outside functions are visible throughout the file, accessible inside functions after initialization, defining their lifetime and visibility.
Explains global versus local variables: globals are long live and accessible inside functions, while locals are created inside a function, exist only during execution, and reinitialize on each call.
Learn how to modify a global variable inside a function with the global keyword, avoid unbound local errors, and see the change reflected outside the function.
Learn how the non-local keyword lets an inner function modify the outer function’s local variable in Python, and why reading versus assigning matters.
Explore Python namespaces, including global, local, and built-in namespaces, and learn how globals(), locals(), and dir() reveal and access variables across modules and functions.
Explain how functions receive argument values through parameters, using a login example to show boolean true/false return values, and the importance of matching argument counts to parameters.
Learn how default arguments make parameters optional in python with a fallback value. See the simple interest function work when you provide all values or rely on the default rate.
Learn the arbitrary arguments concept in Python by using an asterisk to receive any number of values of any type, with examples like summing total marks.
Learn to debug Python code by using breakpoints, stepping into and over functions, and watching variable values to identify logical errors in loops and calculations.
Discover how keyword arguments enable assigning values by parameter name for clearer calls. Master rules for positional versus default and keyword arguments to avoid errors and write readable Python code.
Learn to use Python's filter to extract items from iterables by applying a boolean condition and converting the result to a list of matching entries such as developers or designers.
Learn to write inline lambda expressions in Python and pass them directly to filter as nameless functions, achieving concise, readable conditions.
Learn how to use map with a list of dictionaries to transform each item, update fields such as job titles, and apply lambda or regular functions with conditional logic.
Demonstrate calculating a total salary with reduce and an accumulator over a list of employee dictionaries, highlighting lambda usage and the difference from accumulate.
Learn how pure functions operate as independent, parameter-driven units with no external data access or global side effects; they return consistent results, enabling easier testing and clearer code.
Define a Python factorial function that multiplies from n down to 1 using a for loop, initializes fact to 1, returns the result, and notes 0! equals 1.
Explore recursion as a technique where a function calls itself, demonstrated with factorial calculation and summing salaries, highlighting base cases and where recursion helps or complicates problems.
Learn to generate the Fibonacci series in Python using a list and append, with c = a + b and a, b updates, then implement fibonacci(n) to return the sequence.
Learn to generate the fibonacci series via recursion, with base cases 0 and 1 and fib(n)=fib(n-1)+fib(n-2), implemented in python to build and return the full list.
Why should you subscribe to this Python course?
This course is taught by Mr. Harsha Vardhan, a professional python programmer, mentor and team leader - worked on various projects in different roles. So he knows which is important and crucial area in Python concepts and that's what is focused in the course. You will be able to write optimum Python code by following this Python code.
Everything taught practically with diagrammatical explanation
Focus on "why" to do some programming concept, apart from "how"
We believe that the proper way to understand programming concepts is, "by really doing it and learn from errors"; and that is what used in this course. In many cases, we think about various possibilities in the coding and analyze reasons of errors if they appear on our way.
Real world scenarios and use cases explained for each smaller concept of Python
More scope for your involvement in practice with assignments / exercises, MCQs, interview questions etc.
Source code, python cheat sheets are provided to download
Captions (CC) in English are provided for all lectures
You can get Instructor's help by asking questions in "Q&A" section, if you face any challenge at your practice time
Covers all essential concepts of Python rather than just rushing through basics / overview of several programming concepts. Check the course curriculum for more details.
Course content will be kept up to date with future updates of Python
Will the course teach me data science, machine learning and artificial intelligence?
No, it is not – All of these topics are branches of Python programming. And all of them require a solid understanding of the Python language.
Nearly all courses on these topics assume that you understand Python, and without it you will quickly become lost and confused.
This course will give you that core, solid understanding of the Python programming language.
By the end of the course you will be ready to apply for Python programming positions as well as move on to specific areas of Python, as listed above.
I don't know anything about programming. Will I still be able to learn Python?
This course assumes you have no previous knowledge of programming. Whenever a programming term is mentioned in the class (e.g., a variable), that term is explained thoroughly, so you not only understand how to use that particular term in Python, you also understand what that term means in programming.
What IDE/editor is used in this course?
We use PyCharm Community (free) in all lectures, to build python programs. You can use it with Windows / Mac, as per your convenience.
No Risk – Money-Back Guarantee
Finally, there is no risk. You can preview first few lectures of the course for free. Once you buy this course, for some reason if you are not happy with the course, Udemy offers a 30-day money back guarantee.
This course is offered by Web Academy by Harsha Vardhan. Any watermark stating "Harsha Web University" is from our old branding and does not represent an academic institution. This course is for educational purposes only and is not affiliated with any university or degree-granting institution.