Skip to content

Commit 429c228

Browse files
committed
Initial commit
0 parents  commit 429c228

File tree

380 files changed

+22613
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

380 files changed

+22613
-0
lines changed

.gitignore

+132
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# C extensions
7+
*.so
8+
9+
# Distribution / packaging
10+
.Python
11+
build/
12+
develop-eggs/
13+
dist/
14+
downloads/
15+
eggs/
16+
.eggs/
17+
lib/
18+
lib64/
19+
parts/
20+
sdist/
21+
var/
22+
wheels/
23+
pip-wheel-metadata/
24+
share/python-wheels/
25+
*.egg-info/
26+
.installed.cfg
27+
*.egg
28+
MANIFEST
29+
30+
# PyInstaller
31+
# Usually these files are written by a python script from a template
32+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
33+
*.manifest
34+
*.spec
35+
36+
# Installer logs
37+
pip-log.txt
38+
pip-delete-this-directory.txt
39+
40+
# Unit test / coverage reports
41+
htmlcov/
42+
.tox/
43+
.nox/
44+
.coverage
45+
.coverage.*
46+
.cache
47+
nosetests.xml
48+
coverage.xml
49+
*.cover
50+
*.py,cover
51+
.hypothesis/
52+
.pytest_cache/
53+
54+
# Translations
55+
*.mo
56+
*.pot
57+
58+
# Django stuff:
59+
*.log
60+
local_settings.py
61+
db.sqlite3
62+
db.sqlite3-journal
63+
64+
# Flask stuff:
65+
instance/
66+
.webassets-cache
67+
68+
# Scrapy stuff:
69+
.scrapy
70+
71+
# Sphinx documentation
72+
docs/_build/
73+
74+
# PyBuilder
75+
target/
76+
77+
# Jupyter Notebook
78+
.ipynb_checkpoints
79+
80+
# IPython
81+
profile_default/
82+
ipython_config.py
83+
84+
# pyenv
85+
.python-version
86+
87+
# pipenv
88+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
90+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
91+
# install all needed dependencies.
92+
#Pipfile.lock
93+
94+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
95+
__pypackages__/
96+
97+
# Celery stuff
98+
celerybeat-schedule
99+
celerybeat.pid
100+
101+
# SageMath parsed files
102+
*.sage.py
103+
104+
# Environments
105+
.env
106+
.venv
107+
env/
108+
venv/
109+
ENV/
110+
env.bak/
111+
venv.bak/
112+
113+
# Spyder project settings
114+
.spyderproject
115+
.spyproject
116+
117+
# Rope project settings
118+
.ropeproject
119+
120+
# mkdocs documentation
121+
/site
122+
123+
# mypy
124+
.mypy_cache/
125+
.dmypy.json
126+
dmypy.json
127+
128+
# Pyre type checker
129+
.pyre/
130+
131+
# Hugo generated files
132+
public/

README.md

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# practical_python
2+
3+
## License
4+
5+
The source code and exercises in `workshop/` is licensed under the permissive MIT license.
6+
7+
[![CC BY 4.0][cc-by-nc-nd-shield]][cc-by-nc-nd]
8+
9+
The content of the Practical Python Course Website in the `website/content` directory is (c) 2020 by Nina Zakharenko (c) and is licensed under a
10+
[Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License](cc-by-nc-nd).
11+
12+
The intent of this restrictive license is to give individual learners free access to the course materials. Do not use this material to teach your own Python course or workshop. Instead, please consider supporting my work and significant effort by watching the course on [Front End Masters](https://frontendmasters.com/teachers/nina-zakharenko/) instead.
13+
14+
[![CC BY NC ND 4.0][cc-by-nc-nd-image]][cc-by-nc-nd]
15+
16+
[cc-by-nc-nd]: https://creativecommons.org/licenses/by-nc-nd/4.0/
17+
[cc-by-nc-nd-image]: https://licensebuttons.net/l/by-nc-nd/3.0/88x31.png
18+
[cc-by-nc-nd-shield]: https://img.shields.io/badge/License-CC%20BY%20NC%20ND4.0-lightgrey.svg

description.yml

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Status can be publish, tba, canceled, postponed OR hidden
2+
Status: tba
3+
4+
StartDate: 2020-10-30
5+
EndDate: 2020-10-30
6+
7+
Slug: practical-python
8+
Title: "A Practical Guide to Python"
9+
Subtitle: Spend A Full Day Immersed in Python with Nina Zakharenko
10+
11+
Teachers:
12+
- zakharenko
13+
14+
Excerpt: Practical Python is a one day intensive hands-on workshop designed for intermediate developers looking to become productive coding Python as quickly as possible. By the end of the course, you'll have a solid understanding of Python syntax and best practices, and you'll put your knowledge to use building a fully-functioning web app.
15+
16+
Benefits:
17+
- Dive straight into learning Python for maximum productivity.
18+
- Learn about Python syntax, libraries, and best practices.
19+
- Use functions, object-oriented Python, and modules to structure your code.
20+
- Learn to overcome common stumbling blocks.
21+
- Finish the course with a fully-functioning web application, complete with unit tests.
22+
23+
Summary: Practical Python leverages your experience as a coder to quickly get you up to speed with writing effective Python. In this single-day training, we'll cover everything you need to know to write and read Python programs. This hands-on workshop will give you a deeper understanding of how Python works instead of just memorizing syntax.
24+
25+
Audience:
26+
Overview:
27+
This hands-on workshop is for anyone who's already comfortable coding, but wants to get up to speed in Python for maximum productivity.
28+
29+
# Optional prerequisite list
30+
Prerequisites:
31+
- Command line experience in any operating system.
32+
- Coding experience in any language, as well as an understanding of concepts like like types, functions, and loops.
33+
- Understanding of the basics behind working with APIs -- requests, responses, and HTTP status codes.
34+
- Please install Python 3.9, Visual Studio Code, and the Python Extension for Visual Studio Code before class.
35+
36+
Agenda:
37+
Schedule:
38+
- 0930: Introduction, prerequisite check, learn about what makes Python special
39+
0945: Get comfortable in the Python REPL by working with foundational types like numbers, strings, and lists
40+
1030: Introduction to working with complex types like sets, tuples, and dictionaries
41+
1130: Structure your code with functions, loops, and logic
42+
1200: Lunch
43+
1300: Slicing, list comprehensions, and working with files
44+
1330: Object-oriented Python
45+
1430: Libraries and modules
46+
1500: Web frameworks, databases, writing tests
47+
1630: Wrap up and Q&A
48+
# Optional add a note below the agenda
49+
# Note: If you want to spice the agenda up with a note

outline.md

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# A Practical Guide to Python
2+
3+
## Summary
4+
5+
The Practical Guide to Python is targeted towards the advanced-beginner/intermediate developer who wants to start working productively in Python in just one day.
6+
7+
We'll zoom through the basics of syntax, looping, boolean logic, and functions and hone in on intermediate topics.
8+
9+
We'll cover more advanced hands-on topics like reading and writing from files and using the requests framework.
10+
11+
## Target Audience
12+
13+
This course targets developers who may already be familiar with another programming language or two -- JavaScript, Ruby, etc and get them ramped up and ready to work on Python projects in just one day.
14+
15+
# Course Outline
16+
17+
- Introduction / About your instructor
18+
- Requirements
19+
- Why Python
20+
- Standard Library
21+
- Running Python Programs
22+
- As Scripts
23+
- From the CLI
24+
- Syntax
25+
- Exceptions
26+
- Reading Tracebacks
27+
- Basic Data Types & Functions
28+
- Lists, Dictionaries, Sets and Tuples
29+
- String Manipulation, Converting between types
30+
- Control Statements and Truthiness
31+
- Loops & Slices
32+
- Slicing
33+
- Simple loops (for, while)
34+
- zip, enumerate
35+
- Comprehensions
36+
- All about Exceptions
37+
- Try / Except
38+
- Best Practices
39+
- Custom Exceptions
40+
- Working with files
41+
- Reading / Writing
42+
- Libraries & Modules
43+
- Standard Library
44+
- Virtual Environments
45+
- Installing 3rd party libraries
46+
- PyPi
47+
- imports, package structure
48+
- Working with APIs
49+
- Using the requests library
50+
- Working with JSON files
51+
- Test
52+
- Test frameworks
53+
- assertions
54+
- Web Frameworks
55+
- Basic Flask
56+
- Basic Django
57+
- Working with Databases
58+
- Connecting
59+
- Types
60+
- ORMs
61+
62+
TBD sections:
63+
- Writing command line tools
64+
- Web scraping

0 commit comments

Comments
 (0)