Python is an easy to learn language many beginners to coding choose as their first programming language and it is not limited to web development, as you can build games and applications for academical research with it. If you are new to programming or simply interested in learning Python, here are some resources you can use.
- Isolating your developer space to avoid running into altering the global python environment.
- Problem:
If you don't specify a unique python environment, by default, you will use the global python environment of your computer. Other apps or your computer may rely on specific versions of python modules so if you start installing new modules, you could break things. Also, you will probably work on multiple python projects and you don't want their dependencies to interfere with each other. In a professional environment, you will need to collaborate with other developers. In these cases, you want to be able to share the exact dependencies of your project so the project can be recreated and run from any computer. Working in a unique python environment (venv) will make it trivial to check what modules your project has used. This manifests in the requirements.txt file which is then used by others to install modules.
- Solution:
- virtualenv
- conda
- Code Style Standards
- Problem:
Python allows your code to be written in vastly different ways but you generally want it to be easy to read and understand. In a professional environment, you want your code to be just as easy to understand for someone else as yourself so many will adhere to coding styles or guidelines. In Python, the accepted standard is PEP8.
- Unit Testing (pytest, unittest, doctest)
- Commenting
- Problem:
When looking at new code or reviewing code, you are generally working on one piece of a larger code base. It may be difficult or impossible to know what you can expect to receive in your code or, for others, to know what they may expect from your code. Structuring your comments in a standardized way will allow tools like Sphinx to generate documentation for you.
- Solution:
- Tools: Sphinx (Auto-generate documentation)
- Comment Styles google
- Debug & Learning Techniques
- Problem:
If you don't understand how something works or what is available from some python module/class/function, you can use the help() function.
- Solution:
- help(x): Provide the comments written for the module/class/function specified as x as written documentation (similar to 'man')
- var(x): all methods and variables tied to x (One of these involves inheritance chain)
- dir(x): all methods and variables tied to x
- id(): address in memory
- Learning Guide- Learn Python Online
- Tutorial- Python Tutorials for Beginners and Programmers
- Online Experts- 1:1 Python Help from Proven Experts
- Bucky's Room
- Think Python
- Learn Python
- Python for You and Me
- Learn Python the Hard Way
- edX Introduction to Computer Science and Programming Using Python
- Python Tutorials for Beginners and Programmers
- Python Beginner Tutorial: for Loops and Iterators
- Python 2.7 vs Python 3.4 ─ What should Python Beginners choose?
- Wishful Coding in Python: A Problem Solving Philosophy
- Introduction to Python Decorators
- Beginner's Guide to Debugging Python: Print Statements
- How to Create Custom Exceptions in Python
- A SQLAlchemy Cheat Sheet
- Python Framework Comparison: Django vs. Pyramid
- How to Set up NumPy on a 64 bit Windows OS
- Python Q&A with #1 Stack Overflow Python Expert
- Stack Overflow Legend Martijn Pieters: Python Optimization and How it Can Affect Your Code
- 6 Useful Python Libraries Recommended by #1 Stack Overflow Answerer
- Martijn Pieters on the Future of Django
- Python Internals: Codementor Office Hours with Martijn Pieters
- Building a Simple Snake Game with Python
- Data Frames with Python & R, Part 2
- Exploratory Data Analysis
- Dimension Reduction & Clustering
- Sentiment Classification Using Linear Methods
- Building a Wine Review & Recommendation Site with Django, Part 2, Part 3
- Getting Data into the basic Spark data structure: Resilient Distributed Datasets, Part 2
- Machine Learning Library (MLlib) Basic Statistics & Exploratory Data Analysis
- MLlib Logistic Regression
- MLlib Decision Trees
- SQL & DataFrames
- Building a Movie Recommendation Service with Apache Spark & Flask, Part 2
- Creating An Asset Pipeline in Python
- Caching Angular Partials with Python
- How do I remove the first and last rows and columns from a 2D numpy array?
- How to check keys in two levels loop?
- Python array unpacking error: need more than 3 values
- scheduling events with a while loop and time.sleep
- Fetching an RSS feed and converting it into a json response
- Opencv: display contours
- Django form choices loaded from database are not updatedCan't figure out what's wrong with my method
- Different initial values in a Django formset
- Why does python's struct think little-endian and big-endian imply different lengths?
- Comparing two class types in python
- How can I get Travis-CI to recognize and open external files during testing
- Carte-Blanche, a Django Permission Framework for Rapid Prototyping, with its creator, Eric Neuman
- Introduction to Machine Learning & NLP: Building a Spam Classifier
- Stack Overflow Legend Martijn Pieters: Python Optimization and How it Can Affect Your Code