
Explore android game development with Python, from basics like variables and strings to advanced object oriented programming concepts, data structures, and build games with Kivy and Pygame.
Install Python on Windows by downloading from python.org, add Python 3.7 to PATH, install the launcher, verify with the command prompt, and launch IDLE to run a hello world script.
Install python3 and idle 3 on a Linux system using sudo and apt-get, then verify the setup by running python3 and printing hello world.
Master dynamic typing in Python by creating variables with simple assignment; inspect integers, floats, and strings, convert types with type() and type casting, and use chain and multi-variable assignments.
Discover Python keywords and identifiers, learn which words are reserved and cannot be used as variable names, and master creating clear identifiers with underscores or camelCase.
Explore Python statements and the pivotal role of indentation, line continuation, and comments. Learn multiline statements with parentheses, brackets, and semicolons, plus basic control structures.
Build a Python password generator using the random module and the sample method to create passwords of a given length from lowercase, uppercase, digits, and special characters, then print them.
Explore basic arithmetic in the Python shell, performing addition, subtraction, multiplication, division, and modulo, and distinguish integers from floats with 2 and 2.0, including version differences.
Explore the math module and learn how to import it, then call its functions such as floor, ceiling, power, sqrt, cos, sin, and the pi constant in practical examples.
Explore Python strings using single or double quotes, fix broken strings, print strings with the print function, and comment with #; save scripts as .py and run in the IDE.
Explore string methods in Python using inbuilt methods on strings, such as format, lower, upper, capitalize, title, isalpha, isdigit, index, find, and strip, and learn string immutability.
Explains string slicing in Python, showing how to index and extract substrings with start and end positions, end index is exclusive, and how steps enable reversal.
Master string formatting by taking user input, storing it in variables, and printing formatted strings with curly braces. Use zero-based indexes 0 and 1 to position values in the format.
Develop a simple million word count program in python by splitting a long string, counting word frequencies with a list comprehension, and generating word-frequency pairs using zip.
Remove punctuation from a string with a for loop and a conditional, defining a punctuation set to print a clean, punctuation-free output.
Learn to extract a user name and domain from an email using Python string slicing and formatting. Build a project script that inputs an email and prints a formatted message.
Explore boolean values and comparison operators in Python, including true and false, case sensitivity, and how greater than, less than, and equal determine conditions.
Explore how the if statement in Python controls code flow using booleans and comparison operators, with examples of if, elif, and else to build programming logic.
Learn how not, and, or manipulate truth values, use a truth table, and apply if-else conditions to control program flow.
Explore the for loop, its range syntax, and how it iterates over data structures like strings, lists, and tuples, comparing it to while loops for efficient data processing.
Explore the while loop, its condition-driven execution, and how to terminate it correctly while looping tasks like printing a name multiple times or building lists.
Learn to generate the i-star pattern by inputting rows and using nested loops to print spaces and decreasing stars, with input converted to an integer.
Build a rock paper scissors game using looping and conditional statements, with a random choice from a plays list via the Saranda module, for a simple interactive project.
Learn to use lists to store and access data efficiently, including creating lists with brackets, indexing from zero, slicing, and appending or popping elements in nested or mixed-type lists.
Explore how dictionaries store data as key-value pairs, look up values by keys, and add, update, or delete entries, while converting to lists or tuples as needed.
Learn how sets work in programming, including creation, immutability rules, membership tests, and operations like add, remove, discard, union, and intersection, with practical examples.
Define and use functions, pass positional and keyword arguments, return values, and distinguish local versus global scope with practical examples of add and reverse.
Master default arguments in functions by defining parameters with default values, calling with or without arguments, and remembering that defaults must be last in the parameter list.
Learn to pack and unpack arguments in Python using *args and **kwargs, enabling flexible calls with positional and keyword arguments, including lists and dictionaries.
Develop a tic tac toe game against the computer, with the computer starting first and a random initial move, showcasing AI play.
Set up a tic-tac-toe game by initializing a nine-box board, importing and seeding the random module, and drawing the board in a main loop.
define a two-player Tic-Tac-Toe setup by letting the user choose X or O and assign the computer accordingly. randomly decide who goes first to start the game loop.
Implement the main game loop and player move logic for a 1-9 board game, including input handling, space availability checks, board updates, and simple computer turns.
Implement computer gameplay by duplicating the board, selecting a random valid move, and choosing moves to win or block. Prioritize center, corners, and sides to guide the computer's play.
Implement the computer move and a winner detector using the game board, checking rows, columns, diagonals, and board full status to determine winners.
Wrap up the tic tac toe game by implementing board-based turn logic for the player and the computer, and signaling wins, draws, or losses when the board fills.
Learn how Python distinguishes syntax errors from exceptions and how to raise and handle them with try, except, else, and finally blocks, including division errors, file not found, and assertion.
Learn how Python's assert statement uses boolean conditions to validate inputs, halt on failures, and aid debugging, with practical examples like ensuring a divisor is not zero.
Learn to build a stop timer application using the time module, capturing local time, starting and stopping with keyboard interrupts, and computing the elapsed time with rounding.
Learn to build a scientific calculator using a math module, handling add, subtract, multiply, divide, sin cos tan, square root, and radian degree conversions with string input parsing.
Develop a scientific calculator by using a math module, parsing user input into doms, and evaluating expressions with an interpreter while handling zero-division and invalid input exceptions.
Explore object oriented programming in Python by building classes with attributes and behaviors, creating instances, and using self, constructors, and methods. Learn core concepts like inheritance, encapsulation, and polymorphism.
This lecture demonstrates inheritance in object oriented programming by using a base bird class and a derived penguin class, showing the constructor call with super and reuse of base methods.
Learn how encapsulation restricts access to attributes, using private variables and getters and setters in Python, demonstrated with a computer price example.
Explore polymorphism through a common interface that colors shapes—square, rectangle, triangle—across multiple forms, and see Python examples of fly and swim behaviors in birds and penguins.
Demonstrates operator overloading in a Python point class, using __init__ and __str__ for formatting and __add__ to add points, returning a new point with combined coordinates.
Develop a credit card validator project using classes and constructors to input a card number, identify the issuer (Visa, Mastercard, American Express, UnionPay), and validate with the Luhn checksum.
Explore Python lambda functions, anonymous one-line expressions with any number of arguments and a single expression, and apply them with map, filter, and reduce to lists.
Explore Python list comprehensions as a one-line alternative to map and lambda for building lists. Learn the syntax: expression, loop, and optional condition, and see Celsius conversions and cross-products.
Explore Python iterators and the iterator protocol, learning how __iter__ and __next__ enable for loops to traverse lists, strings, and other iterables, and how StopIteration controls iteration.
Learn to implement a custom iterator that yields powers of two by defining an iterator class with __iter__ and __next__, and raise stop iteration when reaching the maximum.
The lecture shows how Python generators replace heavy iterators using yield and next. It demonstrates creating a simple generator, pausing and resuming, and automatic stop when exhausted.
Explore how generators replace explicit iterators for looping, offering memory-efficient iteration via generator expressions and the for loop, with examples reversing a string and comparing with list comprehension.
Explore Python closures: nested functions capture non-local variables with the nonlocal keyword, returning inner functions that remember outer scope, enabling data hiding and offering a lightweight alternative to classes.
Explore decorators and metaprogramming in Python by wrapping functions with higher-order closures. See how make pretty and smart divide demonstrate decorating ordinary functions with added behavior.
Discover how a Python property wraps a Celsius temperature with getter, setter, and deleter to enforce bounds, enable data hiding, and simplify access.
Explore Python copy semantics by comparing shallow copy and deep copy using the copy module, showing how shallow copy copies references and deep copy creates independent nested objects.
Learn how to use Python regular expressions to match text with a pattern using the regex match method, including flags for case-insensitive matching and grouping results.
Explore the regex search method, its advantage over match, and how to use flags and groups to extract text from a line with case-insensitive, multi-line searches.
Learn how to serialize Python objects with the pickle module, saving and loading data for persistence or network transfer, and leverage multiprocessing with pool map for parallel computation.
Explore the __name__ == "__main__" pattern in Python, distinguishing between modules and the main program, and learn how code runs when executed directly versus when imported.
Explore using modules and packages in Python to structure game code, organize files, and manage imports with from, import, and dot notation for clean, collision-free namespaces.
Welcome to Python Programming world: most popular language skill to have in 2018. You are going to learn every bit of python language in this course so that you can apply your knowledge in real world apps.
You will learn:
1. Android game and app development with Kivy+Python
2. Python basics and advance
3. Important pygame module
Questions that most beginners ask me :
Is Python A Good First Programming Language To Learn?
Even though it has not yet been adopted as a first language by many computer science programs, Python is widely seen by industry experts as a great first programming language when learning to code and its extensive use in SpaceX to automate and handle technologies to launch rockets, Instagram, Google to support their backends and Many companies to support and execute ML and Deep Learning Algorithms; Its undoubtedly No.1 Programming Language to learn.
For starters, the syntax of Python is simpler than that of most other major programming languages, with fewer exceptions and special cases. It also tends to use plain English keywords in place of the system of punctuation that has to be memorized in other languages, making it easier to learn to code. Given these conventions, Python code tends to appear as less of a "jumble" to newcomers than it does in comparable languages.
Another great feature of Python is the ubiquity of its use. While Python is optimized for development on Linux and Unix systems, interpreters are available for just about every major operating system. All implementations of Python are supported by an excellent standard library, which means that new students can very quickly move on to creating actual functional programs that are useful. Additionally, the standard implementation of Python, CPython, is free and open source.
What Type Of Jobs Are Available To Python Programmers?
In the job market, if you observe the trends; Python is often looked as a strong language to support some primary language that is more broadly used like C or Java. But Lately, with the evolution of ML and Deep Learning Algorithms; it is highly demanded skill to have in 2018 and later. There are a variety of jobs that one can get focusing exclusively on Python development, however. Many of these jobs will be in building and improving the internal tools that a company uses to create its finished marketable products, rather than working on the finished product itself.
One specific economic sector where the presence of Python programming is particularly strong is the geospatial industry. This is a critical industry that deals in navigational tools such as GPS, radar and light measurements.
If you're interested in web applications, Python is a better choice for development (working with the back-end or server side) rather than design (creating the actual finished front-end that site visitors interact with). As mentioned previously, Google employed Python for many components of its search engine, and it is quite widely used in the data mining industry.
Finally, Python can also be used for game development. Some famous examples of games developed either entirely or in large part with Python include EVE Online, Civilization IV, the Battlefield game series and the Mount & Blade games. The popular development environment Blender is written in Python.
TOPICS TO BE COVERED IN THIS COURSE:
Installing Python
Running Python Code
Strings
Lists
Dictionaries
Tuples
Sets
Number Data Types
Print Formatting
Functions
Scope
args/kwargs
Built-in Functions
Debugging and Error Handling
Modules
External Modules
Object Oriented Programming
Inheritance
Polymorphism
Encapsulation
Advanced Methods
Copy Module
Decorators
Iterators
Android development with Kivy
Closures
and much more!
PROJECTS
Minor Projects (Basic to advance):
Password generator
Domain Formatting
Star Pattern
Stop timer
Tic Tac Toe
Simple word count
Scientific calculator
Rock Paper Scissors
Credit card Validator
Punctuation removal
Major Projects:
Flappy Bird
2048 game