Skip to content

Commit

Permalink
more descriptive readme.
Browse files Browse the repository at this point in the history
  • Loading branch information
mikeckennedy committed Jun 22, 2016
1 parent 019fc69 commit bb16ea2
Showing 1 changed file with 46 additions and 3 deletions.
49 changes: 46 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,54 @@
# Write Pythonic Code Like a Seasoned Developer Course Materials
# Write Pythonic Code Like a Seasoned Developer Course Demo Code

[![Pythonic Code Course Welcome Video](https://raw.githubusercontent.com/mikeckennedy/write-pythonic-code-demos/master/readme_resources/pythonic-course-welcome-video.png)](https://vimeo.com/171562581)

[Jump to source code: [write-pythonic-code-demos/tree/master/code](https://github.com/mikeckennedy/write-pythonic-code-demos/tree/master/code)]

One of the special concepts in Python is the idea of writing idiomatic code that is most aligned with the language features and ideals. In Python, we call this idiomatic code Pythonic. While this idea is easy to understand, it turns out to be fairly hard to make concrete.

This course will take you on a tour of over 50 of the more popular and useful code examples demonstrating examples of Pythonic code. In the examples, you'll first see non-Pythonic code and then the more natural Pythonic version.

Topics covered include the expansive use of dictionaries, hacking Python's memory usage via slots, using generators, comprehensions, and generator expressions, creating subsets of collections via slices (all the way to the database) and more. Several of these are Python 3 features so you'll have even more reason to adopt Python 3 for your next project.

## Topics covered
## What topics will we cover?

This course covers over 50 concrete programming tips to write more Pythonic code. These tips are grouped into the following broad categories.

* Pythonic Foundational Concepts
* Dictionaries
* Generators and Collections
* Methods and Functions
* Modules and Packages
* Classes and Objects
* Loops
* Tuples
* Python for Humans

See [the full course table of contents](https://training.talkpython.fm/courses/explore_pythonic_code/write-pythonic-code-like-a-seasoned-developer#full-course-outline) below.

## Join the course

https://talkpython.fm/pythonic


## What is Pythonic code and why does it matter?

One of the special concepts in Python is the idea of writing idiomatic code that is most aligned with the language features and ideals. In Python, we call this idiomatic code Pythonic. When you write Pythonic code, you are leveraging over 25 years of experience of many thousands of developers. You are writing code that is expected and tune in the CPython runtime. Most importantly perhaps, you are writing code that is easily read and understood by your follow and senior Python developers.

If you are building an open source product, it will be easier for other contributors to join in if your code is Pythonic. If you are running a software team, it will be easier to onboard Python developers new to your company.

On the flip side, if you are somewhat new to Python, you may be broadcasting this loud and clear to everyone listening: your teammates, interviewers if you're looking for a new job, audience members if you're giving a public presentation. This is less than ideal.

Finally, many of the over 50 tips covered in this course that are considered "Pythonic" allow you to write more readable code, more maintainable code, and more efficient code. So in some sense, you can think of this course as an effective Python course in its own right.

## Who is this course for?

The course is for beginner to intermediate Python developers looking to hone their Python programming skills and become true professionals in the Python space. It is not a "Learn Python from Scratch" course and assumes you are familiar with language constructs such as modules, functions, classes, and more.

If you are looking to learn Python from scratch, please consider my Python Jumpstart by Building 10 Apps course.

## This course will cover Python 3

The course will cover Python 3 (3.5 specifically), but 96% of what you learn will be translatable back to Python 2 with virtually no effort. The few features that are Python 3 specific will be highlighted as such (e.g. new dictionary merging syntax).

[Course is under development - more to appear here shortly. (June 8th)]
Python 2 will literally become unsupported in less than 4 years (in 2020). That's coming up faster than people realize and focusing on Python 3 going forward is important.

0 comments on commit bb16ea2

Please sign in to comment.