Skip to content

Latest commit

 

History

History
251 lines (207 loc) · 13.3 KB

File metadata and controls

251 lines (207 loc) · 13.3 KB

Python-Core-

Comprehensive Python core repository including data structures, problem-solving, and real-world coding examples.

01_Basics

This folder contains fundamental Python concepts with definitions and examples.

  • variables.py: Variable declaration and scoping.
  • input_output.py: User input and console output.
  • comments.py: Single-line, multi-line, and docstrings.
  • type_casting.py: Converting data types.
  • operators.py: Arithmetic, comparison, logical, assignment, identity, and membership operators.
  • hello_world.py: Your first Python program.
  • external_lib.py: Using external libraries (e.g., pyjokes)
  • strings.py: String manipulation.
  • lists.py: Mutable sequences.
  • tuples.py: Immutable sequences.
  • dictionaries.py: Key-value pairs.
  • conditionals.py: if, elif, else statements
  • loops.py: for and while loops.

02_Intermediate

This folder covers intermediate Python topics including functions, OOP, and file handling.

  • functions.py: Defining and calling functions, default arguments.
  • lambdas.py: Anonymous functions and their usage with filter().
  • file_handling.py: Reading from and writing to files.
  • exception_handling.py: Using try-except-finally for error management.
  • classes_objects.py: Basics of Object-Oriented Programming (OOP).
  • modules_import.py: Importing and using built-in Python modules.

03_Advanced

This folder explores advanced Python features like decorators, generators, and context managers.

  • decorators.py: Enhancing functions without modification.
  • generators.py: Memory-efficient iteration using yield.
  • list_comprehensions.py: Concise syntax for list creation.
  • context_managers.py: Managing resources with with statements.
  • args_kwargs.py: Handling variable numbers of arguments.

04_Standard_Library

This folder explores essential modules from Python's standard library.

  • collections_module.py: Specialized container datatypes like Counter and namedtuple.
  • itertools_module.py: Tools for efficient iteration and looping.
  • json_module.py: Parsing and creating JSON data.
  • random_module.py: Generating random numbers and making random selections.
  • threading_module.py: Basics of running concurrent operations using threads.

05_Data_Structures_Algorithms

This folder covers fundamental data structures and common algorithms implemented in Python.

  • linked_list.py: Implementation of a Singly Linked List.
  • stack_queue.py: Stack (LIFO) and Queue (FIFO) basics.
  • binary_tree.py: Binary tree structure and inorder traversal.
  • bubble_sort.py: Simple comparison-based sorting algorithm.
  • binary_search.py: Efficient searching in sorted arrays.

06_Projects

This folder contains simple Python projects that demonstrate practical application of the concepts learned.

  • calculator.py: A basic arithmetic calculator.
  • number_guessing.py: A simple number guessing game with random numbers.
  • todo_cli.py: A command-line interface for managing a to-do list.
  • password_generator.py: A tool to generate secure, random passwords.
  • unit_converter.py: Converts between units like temperature and distance.
  • rock_paper_scissors.py: A classic game against the computer.
  • simple_atm.py: Simulates basic ATM transactions and balance management.

07_Advanced_Projects

This folder contains more complex Python projects that integrate multiple concepts like dictionaries, regex, and simulated APIs.

  • url_shortener.py: Logic for shortening URLs using hashing.
  • expense_tracker.py: Tracks and summarizes daily expenses.
  • weather_app_sim.py: Simulates fetching weather data for cities.
  • quiz_app.py: A multiple-choice quiz application.
  • inventory_management.py: Track products, stock, and pricing.
  • contact_book.py: Simple contact storage and search system.
  • markdown_to_html.py: A basic regex-based Markdown to HTML converter.
  • budget_planner.py: Helps plan monthly income and expenses.

08_Python_Problem_Solving

This folder contains common programming problems and their solutions in Python.

  • palindrome_check.py: Checks if a string or number is a palindrome.
  • factorial.py: Calculates factorial using recursive and iterative methods.
  • fibonacci_series.py: Generates Fibonacci sequence up to n terms.
  • prime_number.py: Checks if a number is prime.
  • armstrong_number.py: Checks if a number is an Armstrong number.
  • anagram_check.py: Checks if two strings are anagrams.
  • reverse_string.py: Different ways to reverse a string in Python.

09_Competitive_Programming

This folder contains common competitive programming problems and their solutions in Python.

  • two_sum.py: Finds indices of two numbers that add up to a target.
  • valid_parentheses.py: Checks if a string of brackets is valid.
  • merge_sorted_lists.py: Merges two sorted linked lists.
  • max_subarray.py: Finds the contiguous subarray with the largest sum.
  • climbing_stairs.py: Calculates ways to climb stairs.
  • best_time_to_buy_sell_stock.py: Maximize stock profit.
  • contains_duplicate.py: Checks if an array contains any duplicates.

10_Design_Patterns

This folder covers common software design patterns implemented in Python.

  • singleton.py: Ensures a class has only one instance.
  • factory_method.py: Interface for creating objects in a superclass.
  • observer_pattern.py: Subscription mechanism to notify multiple objects.
  • strategy_pattern.py: Family of interchangeable algorithms.
  • adapter_pattern.py: Allows incompatible interfaces to collaborate.
  • command_pattern.py: Encapsulates a request as a standalone object.
  • template_method.py: Skeleton of an algorithm in a base class.
  • facade_pattern.py: Simplified interface to a complex set of classes.

11_Web_Scraping_Automation

This folder demonstrates how to interact with the web and automate system tasks.

  • basic_requests.py: Simulating HTTP GET requests.
  • bs4_demo.py: Simulation of HTML parsing using BeautifulSoup.
  • browser_automation_sim.py: Concepts of browser-level automation.
  • os_operations.py: Navigating the file system and managing processes.
  • shutil_demo.py: High-level file operations (copy, move).
  • env_vars.py: Managing application environment variables.
  • subprocess_basics.py: Spawning and communicating with system processes.

12_Data_Handling_Analysis

This folder covers essential techniques for managing, parsing, and verifying data.

  • csv_basics.py: Reading and writing tabular CSV data.
  • json_advanced.py: Working with complex and nested JSON structures.
  • sqlite_demo.py: Using Python's built-in SQL database engine.
  • logging_basics.py: Implementing a robust event logging system.
  • unit_testing_sim.py: Basics of testing code with the unittest framework.
  • regex_patterns.py: Using regular expressions for advanced text matching.
  • datetime_advanced.py: Advanced date and time manipulation.

13_Object_Oriented_Programming

This folder delves deep into the core concepts of Object-Oriented Programming (OOP) in Python.

  • classes_and_objects.py: Defining blueprints and creating instances.
  • inheritance.py: Reusing code from parent classes.
  • polymorphism.py: Using a single interface for entities of different types.
  • encapsulation.py: Restricting access to methods and variables.
  • abstraction.py: Hiding complex implementation details using abstract base classes.
  • class_and_static_methods.py: Understanding @classmethod and @staticmethod.
  • magic_dunder_methods.py: Customizing built-in behaviors with methods like __str__ and __len__.
  • multiple_inheritance.py: Inheriting from multiple parent classes.

14_System_Design_Architecture

This folder explores software architecture patterns and system design principles.

  • mvc_pattern.py: Model-View-Controller architecture.
  • layer_architecture.py: Horizontal layering of application components.
  • microservices_sim.py: Loose coupling and independent services.
  • pub_sub_system.py: Messaging pattern for asynchronous communication.
  • caching_strategy.py: Improving performance with temporary data storage.
  • rate_limiting.py: Controlling request flow to prevent abuse.
  • load_balancer_sim.py: Distributing traffic across multiple servers.
  • database_sharding_sim.py: Partitioning data across multiple database instances.

15_Security_Best_Practices

This folder focuses on writing secure Python applications and preventing common vulnerabilities.

  • password_hashing.py: Securely storing user credentials with salts.
  • jwt_token_sim.py: Token-based authentication and claim representation.
  • sql_injection_prevention.py: Using parameterized queries to secure databases.
  • input_validation.py: Ensuring data integrity and correctness.
  • encryption_decryption.py: Basic data encoding and decoding techniques.
  • secure_api_keys.py: Managing secrets using environment variables.
  • cors_explanation.py: Understanding cross-origin resource sharing.
  • rbac_model.py: Implementing role-based access control.

16_DevOps_CI_CD

This folder introduces concepts related to modern software deployment and automation.

  • docker_basics_sim.py: Containerization basics and image building.
  • github_actions_sim.py: Automating CI/CD workflows.

17_Unit_Testing_Pytest

This folder covers the fundamentals of writing and running tests in Python using the Pytest framework.

  • test_basic.py: Simple unit tests and assertions.
  • test_fixtures.py: Managing test setup and teardown with fixtures.
  • test_parameterized.py: Running tests with multiple data sets.
  • test_markers.py: Categorizing and skipping tests.
  • test_mocking.py: Isolating code with mock objects.
  • test_assertions.py: Using complex assertions for verification.
  • test_exceptions.py: Testing error handling and exceptions.
  • test_conftest_sim.py: Sharing configuration with conftest.py.
  • test_plugins_sim.py: Extending Pytest with plugins.
  • test_coverage_sim.py: Measuring code execution during tests.

18_Cloud_and_Deployment

This folder introduces concepts for deploying and managing Python applications in the cloud.

  • aws_lambda_sim.py: Serverless function execution.
  • s3_bucket_sim.py: Object storage management.
  • api_gateway_sim.py: Routing and managing API requests.
  • docker_compose_sim.py: Managing multi-container applications.
  • kubernetes_basics_sim.py: Orchestrating container deployments.
  • serverless_framework_sim.py: Automating serverless infrastructure.
  • cloud_watch_logging_sim.py: Monitoring and logging in the cloud.
  • terraform_hcl_sim.py: Infrastructure as Code (IaC) basics.
  • ec2_instance_management_sim.py: Managing virtual servers in the cloud.
  • cloud_security_groups_sim.py: Implementing network security firewalls.

19_Advanced_Data_Science_Basics

This folder introduces core concepts and libraries used in data science and machine learning.

  • numpy_basics_sim.py: Fundamental multi-dimensional array operations.
  • pandas_dataframe_sim.py: Data analysis using DataFrame structures.
  • matplotlib_plot_sim.py: Creating static and interactive visualizations.
  • scikit_learn_sim.py: Basics of predictive data analysis and machine learning models.
  • data_cleaning_concepts.py: Techniques for fixing and removing corrupted or duplicate data.

20_Network_Programming

This folder covers the fundamentals of network communication and socket programming in Python.

  • tcp_server_sim.py: Establishing reliable network conversations via TCP.
  • udp_socket_sim.py: Low-latency, connectionless communication via UDP.
  • http_header_analysis.py: Parsing and analyzing HTTP request/response headers.
  • port_scanner_sim.py: Probing hosts for open ports to verify security policies.
  • ip_address_utils.py: Utilities for managing and resolving IP addresses and hostnames.

21_Backend_Web_Development

This folder covers the fundamentals and advanced concepts of building web backends with Python.

  • flask_basics.py: Introduction to the Flask micro-framework.
  • django_concepts.py: Understanding the Django "batteries-included" framework.
  • fast_api_intro.py: Building high-performance APIs with FastAPI.
  • rest_api_principles.py: Core principles of RESTful API design.
  • graphql_basics.py: Querying data with GraphQL.
  • web_sockets_sim.py: Real-time full-duplex communication simulation.
  • authentication_jwt.py: Stateless authentication using JSON Web Tokens.
  • database_orm_sim.py: Interacting with databases using Object-Relational Mapping.
  • middleware_concepts.py: Processing requests through a middleware chain.
  • deployment_gunicorn.py: Running production-grade WSGI servers with Gunicorn.

22_Asynchronous_Programming

This folder explores the powerful world of concurrency and non-blocking I/O in Python.

  • asyncio_basics.py: Foundations of the asyncio library and event loops.
  • await_keyword.py: Pausing execution for asynchronous tasks.
  • concurrent_tasks.py: Managing multiple coroutines simultaneously.
  • async_iterators.py: Iterating over data fetched asynchronously.
  • async_context_managers.py: Using async with for resource management.
  • event_loop_sim.py: Understanding the core mechanism of async execution.
  • threading_vs_asyncio.py: Comparing different multitasking models in Python.
  • multiprocessing_intro.py: Leveraging multiple CPUs with the multiprocessing module.
  • async_http_requests.py: High-concurrency network requests with libraries like aiohttp.
  • race_conditions_sim.py: Understanding and preventing synchronization issues.