8000 Merge pull request #36 from tecladocode/jose/improve-readmes · ccaj007/complete-python-course@aa158b6 · GitHub
[go: up one dir, main page]

8000
Skip to content

Commit aa158b6

Browse files
authored
Merge pull request tecladocode#36 from tecladocode/jose/improve-readmes
2 parents 3601d69 + a71e6d6 commit aa158b6

File tree

20 files changed

+237
-68
lines changed

20 files changed

+237
-68
lines changed

README.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Complete Python Course | Learn Python by Doing in 2022
2+
3+
<p align="center">
4+
<img src="assets/course-image.png" alt="Complete Python Course | Learn Python by Doing in 2022 (Udemy banner image)"></a>
5+
</p>
6+
7+
<div align="center">
8+
9+
[![Udemy rating 4.6/5](https://img.shields.io/badge/udemy-4.6%2F5-brightgreen)](https://go.tecla.do/cpc) ![GitHub last commit](https://img.shields.io/github/last-commit/tecladocode/complete-python-course) ![Python 3.10](https://img.shields.io/badge/python-3.10-yellow) [![Discord](https://img.shields.io/discord/614395983807250433)](https://discord.gg/78Nvd3p) [![Twitter Follow](https://img.shields.io/twitter/follow/jslvtr?style=social) ](https://twitter.com/jslvtr)
10+
11+
</div>
12+
13+
---
14+
15+
<p align = "center">💡 A 35-hour mega course to take you from beginner to advanced in Python.</p>
16+
17+
## Getting started
18+
19+
Enrol in the course by going to [this link](https://go.tecla.do/cpc).
20+
21+
Then come back here and download the entire repository. If you are familiar with Git, you can use Git to download it. Otherwise, you can download it as a zip file:
22+
23+
![Download repo as a zip file](assets/download-repo-zip.png)
24+
25+
Next, start taking the course at the beginning! You can use the downloaded code files to support you while you go through the course.
26+
27+
I also **strongly recommend** you code while you take the course. A good strategy is:
28+
29+
1. Watch the video intently, optionally while taking notes.
30+
2. Watch again, more quickly, while typing the code together with me.
31+
3. Once you're done with the video, play about with the code. Make changes, break things, then fix them, and try to thoroughly understand everything the code does.
32+
33+
If you do this for the entire course, I guarantee you will learn Python well. You'll still be using Google and searching for stuff every day, but so does everyone else!
34+
35+
## Topics
36+
37+
We cover many contents in the [video-course](https://go.tecla.do/cpc), but this repo has (almost) all the code we write, per lecture. Where relevant, there is also code for projects taught in the course.
38+
39+
- [Python Intro](course_contents/1_intro)
40+
- Variables, numbers
41+
- String formatting
42+
- User input
43+
- Booleans
44+
- Lists, tuples, sets
45+
- Dictionaries
46+
- [Python fundamentals](course_contents/2_intro_to_python)
F438 47+
- If statements
48+
- Loops
49+
- Destructuring
50+
- Iteration
51+
- `Break` and `continue`
52+
- Slicing
53+
- List, set, and dictionary comprehensions
54+
- `zip` and `enumerate`
55+
- Functions
56+
- Arguments, parameters, and return values
57+
- Default parameter values
58+
- Lambda functions
59+
- [Object-Oriented Programming (video-course only)](https://go.tecla.do/cpc)
60+
- [Python errors](course_contents/5_errors)
61+
- [Working with files](course_contents/6_files)
62+
- [Type hinting (video-course only)](https://go.tecla.do/cpc)
63+
- [Advanced Python Development](course_contents/10_advanced_python)
64+
- [Web Scraping](course_contents/11_web_scraping)
65+
- [Browser Automation with Selenium](course_contents/12_browser_automation_selenium)
66+
- [Async Development with Python](course_contents/13_async_development)
67+
- [Managing Projects with Pipenv](course_contents/14_managing_projects_pipenv)
68+
- [Flask and Web Development](course_contents/15_flask)
69+
- [Interacting with APIs using Python](course_contents/16_interacting_with_apis)
70+
- [Decorators (YouTube mini-course, otherwise video-course only)](https://blog.teclado.com/decorators-in-python/)
71+
- [Advanced OOP](course_contents/18_advanced_oop)
72+
- [GUI Development with Tkinter](course_contents/19_gui_development_tkinter)
73+
- [Unit testing](course_contents/20_unit_testing)
74+
- [Algorithms and Data Structures](course_contents/21_algorithms_data_structures)
75+
- [Useful Python libraries](course_contents/22_popular_libraries)
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Advanced Python Development
2+
3+
In this section of the course we look at some advanced Python features, such as:
4+
5+
- Mutability
6+
- Default parameter values and how mutability plays into that
7+
- Argument unpacking
8+
- Python collections
9+
- Working with dates and times
10+
- Timing your code
11+
- Regular Expressions
12+
- Higher order functions and decorators
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Web Scraping
2+
3+
In this section we look at web scraping using Python and the `requests` library.
4+
5+
First we learn about HTML and its structure, and how we can let Python understand it.
6+
7+
Then we build two scraper projects using `BeautifulSoup4`.

course_contents/12_browser_automation_selenium/README.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,3 @@ Each of the major browsers releases a webdriver for their browser. It essentiall
2020
Download it from http://chromedriver.chromium.org/. Make sure to download the version for your browser (e.g. v74 if you're using Chrome v74).
2121

2222
Place the de-compressed executable, `chromedriver`, into a folder. Remember the folder's path, as you'll need it after.
23-
24-
## Recap
25-
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Async Development with Python
2+
3+
Python is a single-threaded language, which means that asynchronous development can sometimes be tricky.
4+
5+
In this section we learn about multi-processing, multi-threading, and async development using coroutines and the `async` and `await` keywords.
6+
7+
These three different types of asynchronous development each have their strengths and weaknesses, so it's important to understand them all.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Managing projects with Pipenv
2+
3+
In this section we briefly look at managing your project dependencies using Pipenv.
4+
5+
Please read the [Pipenv PDF](using_pipenv.pdf) for more information.

course_contents/15_flask/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Web Development with Flask
2+
3+
In this section we learn about making websites using the Flask framework, HTML, and Jinja.
4+
5+
We build a project, which you can see broken down into steps inside [the project folder](projects/first-flask-app-lectures/).

course_contents/15_flask/projects/first-flask-app-lectures/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ Hey there! Welcome to your first Flask app.
22

33
The completed project can be seen at https://github.com/tecladocode/first-flask-app.
44

5-
The various files in this project, numbered from 1 onwards, represent different steps in implementing this first Flask app, as covered in our comprehensive Python course: [The Complete Python Course](https://www.udemy.com/the-complete-python-course/?couponCode=GITHUB).
5+
The various files in this project, numbered from 1 onwards, represent different steps in implementing this first Flask app, as covered in our comprehensive Python course: [The Complete Python Course](https://go.tecla.do/cpc).

course_contents/16_interacting_with_apis/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
First two parts recapped here: https://blog.tecladocode.com/how-to-interact-with-apis-using-python/
1313

14-
### Caching
14+
## Caching
1515

1616
Can use something like `functools.lru_cache` for caching function calls. That is, if you apply this decorator to a function and then you call the function with the same arguments 10 times, 9 of them will be really quick and the function won't evaluate.
1717

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Advanced Object-Oriented Programming with Python
2+
3+
In this section we look at some more advanced OOP concepts, such as multiple inheritance, abstract classes, interfaces, and properties.
4+
5+
These are not things you'll use very often, but they are tools in your arsenal which can come in handy!

0 commit comments

Comments
 (0)
0