Introduction
- The 6 Best Python Courses on the Internet in 2023 β’ LearnDataSci π
- Introduction to the Python 3 Programming Language β’ Egghead π
- The Python Tutorial β’ Python docs π
- Learn Python by Building Five Games β’ freeCodeCamp πΊ
- Python Programming MOOC 2023 β’ Learn the basics of programming with the Python programming language. The focus of the course is on programming, and you will learn how to write programs and understand how they work. For example, the basics of algorithms, control structures, subprograms, object-oriented programming are covered. The course is suitable to anyone who wants to learn programming. No prior programming experience is required. β’ University of Helsinki π©βπ
- Invent with Python β’ Al Sweigart π
- Automate the Boring Stuff with Python β’ Al Sweigart π
- CS50βs Introduction to Programming with Python β’ Harvard University π©βπ
- futurecoder: learn python from scratch β’ 100% free and interactive Python course for beginners β’ Alex Hall π©βπ
- Python on Exercism β’ Get fluent in Python by solving 137 exercises β’ Exercism π©βπ
- A complete Beginnerβs Guide to Python by Making Simple Games β’ Al Sweigart πΊ
General
- dabeaz-course/python-mastery β’ Advanced Python mastery course
- Python and Pandas code snippets β’ InterviewQs π
macOS setup
- Install
pyenv
brew install pyenv
+brew install pyenv-virtualenv
- confirm what I added in the end
- Install Python using
pyenv
- do not
brew install python
orbrew install python3
- confirm if itβs installed
- do not
- Set up VS Code
- Add Python extension to VS Code
- hopefully this doesnβt happen to you, but it did to me: if trouble with the Python extension (Python not added to the file language options list, python commands not working in integrated terminal):
- completely uninstall VS code (via AppCleaner + Homebrew uninstall +
rm -rf ~/.vscode
) - start a new VS install (via Homebrew) from scratch
- carefully add one extension and setting at a time + settings sync as you go after each change
- completely uninstall VS code (via AppCleaner + Homebrew uninstall +
Pyenv
- Version management for Python projects, similar to NVM for Node.js
- Managing Multiple Python Versions With pyenv β’ Real Python π
Positional vs Keyword Arguments
- The advantage of using keyword arguments is that the caller of the function can specify them in any order.
- The advantage of using positional arguments is that the caller of the function doesnβt need to know the names of the arguments.
- In general, itβs best to use keyword arguments for optional arguments and positional arguments for required arguments.
- Keyword (Named) Arguments in Python: How to Use Them β’ Trey Hunner π
- Positional vs Keyword Arguments in Python β’ GeeksforGeeks π
- Star (*) as a parameter in python function β’ Stack Overflow π
- python - How can we force naming of parameters when calling a function? β’ Stack Overflow π
- positional / named only without
*
or/
? (intermediate) anthony explains #529 β’ Anthony Sottile πΊ
Loops
- Quirky Python Loop Thing β’ Something interesting with Python array loopingβ¦
Other Syntax
if __name__ = β__main__β
- means βif this app was run directly via a command like
python file.py
β
- means βif this app was run directly via a command like
- Test if all elements of a python list are False β’ StackOverflow π©βπ»
Testing
- Pytest:
- Pytest β a beginnerβs guide β’ Lalitha π
- How do I print to console in pytest? β’ Stack Overflow π©βπ»
- unittest.mock:
- unittest.mock β mock object library β’ Python docs π
- The many flavors of mock.patch β’ Trey Hunner π
NumPy
- Complete Python NumPy Tutorial (Creating Arrays, Indexing, Math, Statistics, Reshaping) β’ Keith Galli πΊ
Flask
- Quickstart β’ Flask docs π
- Tutorial β’ Flask docs π
- How To Build & Deploy a React + Flask App | Towards Data Science β’ Reine π
- Learn Flask for Python β Full Tutorial β’ freeCodeCamp.org πΊ
- Full Stack Flask, React, and Postgres, pt. 1 β’ Chris DeSilva πΊ