Giter Club home page Giter Club logo

ultimate-python's Introduction

Ultimate Python study guide

CircleCI Code Coverage Quality Gate Status License r/Python

Ultimate Python study guide for newcomers and professionals alike. 🐍 🐍 🐍

print("Ultimate Python study guide")

English | ν•œκ΅­μ–΄ | 繁体中文 | EspaΓ±ol | Deutsch

Motivation

I created this GitHub repo to share what I've learned about core Python over the past 5+ years of using it as a college graduate, an employee at large-scale companies and an open-source contributor of repositories like Celery and Full Stack Python. I look forward to seeing more people learn Python and pursue their passions through it. πŸŽ“

Goals

Here are the primary goals of creating this guide:

πŸ† Serve as a resource for Python newcomers who prefer to learn hands-on. This repository has a collection of standalone modules which can be run in an IDE like PyCharm and in the browser like Replit. Even a plain old terminal will work with the examples. Most lines have carefully crafted comments which guide a reader through what the programs are doing step-by-step. Users are encouraged to modify source code anywhere as long as the main routines are not deleted and run successfully after each change.

πŸ† Serve as a pure guide for those who want to revisit core Python concepts. Only builtin libraries are leveraged so that these concepts can be conveyed without the overhead of domain-specific concepts. As such, popular open-source libraries and frameworks (i.e. sqlalchemy, requests, pandas) are not installed. However, reading the source code in these frameworks is inspiring and highly encouraged if your goal is to become a true Pythonista.

Getting started

Run on Replit

Click the badge above to spin up a working environment in the browser without needing Git and Python installed on your local machine. If these requirements are already met, feel free to clone the repository directly.

Once the repository is accessible, you are ready to learn from the standalone modules. To get the most out of each module, read the module code and run it. There are two ways of running the modules:

  1. Run a single module: python ultimatepython/syntax/variable.py
  2. Run all of the modules: python runner.py

Table of contents

πŸ“š = External resource, 🍰 = Beginner topic, 🀯 = Advanced topic

  1. About Python
  2. Syntax
  3. Data Structures
  4. Classes
  5. Advanced

Additional resources

πŸ‘” = Interview resource, πŸ§ͺ = Code samples, 🧠 = Project ideas

GitHub repositories

Keep learning by reading from other well-regarded resources.

Interactive practice

Keep practicing so that your coding skills don't get rusty.

ultimate-python's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ultimate-python's Issues

Adding French and Japanese README.md

Is your feature request related to a problem? Please describe.
I am trying to make a a French and Japanese README for the repository.

Describe the solution you'd like
When I'm finished translating, I'll send a pull request to you and see if you approve.

Describe alternatives you've considered
None.

Additional context
None.

djdjd

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [ddkkdkdid..]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Adding project-based-learning repo to additional resources

I came across this github repository which has a bunch of python projects. The repo is called project-based-learning and is very popular. It has projects in several programming languages. I would like to suggest that we should add this repo link to the github repositories provided under additional resources. I can create a fork, add it and then create a PR. Can I have permission to do this?

Can I use this code for online lecture?

Hello. Thanks for releasing a good open source.
I'm Korean and I'm trying to teach Python online in Korea.
Would it be ok to use the code here as an example?
It's for commercial purposes. It's under the MIT license, but I think it's better to ask.

to add new codes for file access modes in (advanced/file_handling.py)

Hey there! @huangsam
python file handling expands not only to text files but binary and csv files too! and many more - a important feature of python which can scrap data across different files. and that's why the the knowledge to know about all the file handling modes in python makes the learner more of a prominent coder.

Hence i would like to contribute to (advanced/file_handling.py) inserting r+(read and write),w+(write and read),a+(append and read),binary file modes rb,wb,rb,rb+,wb+ etc and the same for csv files with these modes
thanks

Design Patterns in Python

Is your feature request related to a problem? Please describe.
Design patterns like Factory methods are very common in any Programming languages and they will add value to this repo

Describe the solution you'd like
I can some of them with neat comments following the protocols of this repo

Additional context
Please assign it to me

Translation request

Hello πŸ‘‹.
I saw there's a translation of this repository into Korean and Chinese. I'm a native Spanish speaker that has previously translated other projects into Spanish and would want to translate this into Spanish too.
I'm opening this issue because I want to know first if you're accepting translations. Please let me know. Thank you in advance.

Deepfake

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Adding File Handling to the Python Learning List

Suggestion-
File handling deserves a place on the list due to its fundamental role in Python programming. It encompasses the essential skills required to interact with files, which are ubiquitous in software development.

Here's why it's crucial to include file handling:

Data Storage: Files are commonly used to store data, such as user preferences, configuration settings, or even entire datasets. Learning file handling allows developers to read and write data effectively.

External Data Sources: In real-world applications, you often need to read data from external files, like text, CSV, JSON, or XML files. File handling equips you with the ability to extract and process this information.

Data Persistence: When building applications, it's crucial to save data so that it can be used later. File handling enables the persistence of data, ensuring that it remains available across sessions.

Logging: Many applications log events and errors to files. Understanding file handling is essential for managing log files effectively.

Adding Bitwise Operators

Hello,
This is a really nice open source compilation of topics for learning Python.

Suggestion-
Bitwise operators should be added to the list for learning Python because they provide essential tools for working with binary data, optimizing code, and performing low-level operations. Understanding bitwise operators is crucial for tasks like setting and clearing specific bits, checking the parity of numbers, and working with hardware interfaces.

Bitwise operators are a fundamental part of Python programming, especially when it comes to tasks that involve low-level data manipulation, optimization, and binary data. They operate at the individual bit level, making them essential for various programming scenarios. Here are a few reasons why learning bitwise operators in Python is important:

Binary Data Manipulation: In many applications, such as working with file formats, network protocols, and embedded systems, data is represented in binary form. Bitwise operators allow you to manipulate and extract specific bits or groups of bits within binary data efficiently.

Optimization: Bitwise operations can be used to optimize code for speed and memory efficiency. For example, using bitwise shifts instead of multiplication/division by powers of 2 can result in faster code execution.

Flags and Masks: Bitwise operators are commonly used to work with flags and masks. Flags are binary values that indicate specific conditions, and masks are used to isolate or modify specific bits within a value. Bitwise operations make it easy to work with these constructs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.