background preloader

Python & VIM Resources

Facebook Twitter

Benefits of this Interactive Textbook — How to Think like a Computer Scientist: Interactive Edition. Welcome!

Benefits of this Interactive Textbook — How to Think like a Computer Scientist: Interactive Edition

Take a tour, experiment with Python, join more than 850,000 other readers in learning how to think like a computer scientist with Python. (welcome) You can experiment with activecode examples right in the bookClick Show/Hide Code buttonOn line 7: change numTurtles = 10 to numTurtles = 6Click the Run buttonYou can do your homework right in the textbook.You can interact with other learners to discuss homeworkInteractive questions make sure that you are on track and help you focus.Codelens helps you develop a mental model of how Python works.Audio Tours help you understand the code.Short videos cover difficult or important topics.You can highlight text, and take notes in scratch editors This interactive book is a product of the Runestone Interactive Project at Luther College, led by Brad Miller and David Ranum.

There have been many contributors to the project. This book is based on the Original work by: Jeffrey Elkner, Allen B. Style Guide for Python Code. Code should be written in a way that does not disadvantage other implementations of Python (PyPy, Jython, IronPython, Cython, Psyco, and such).

Style Guide for Python Code

For example, do not rely on CPython's efficient implementation of in-place string concatenation for statements in the form a += b or a = a + b . This optimization is fragile even in CPython (it only works for some types) and isn't present at all in implementations that don't use refcounting. In performance sensitive parts of the library, the ''.join() form should be used instead. This will ensure that concatenation occurs in linear time across various implementations. Comparisons to singletons like None should always be done with is or is not , never the equality operators. Why, oh WHY, do those #?@! nutheads use vi? The VI Gang Sign by Jon Beltran de Heredia, May 16th, 2007 Yes, even if you can't believe it, there are a lot fans of the 30-years-old vi editor (or its more recent, just-15-years-old, best clone & great improvement, vim).

Why, oh WHY, do those #?@! nutheads use vi?

No, they are not dinosaurs who don't want to catch up with the times - the community of vi users just keeps growing: myself, I only got started 2 years ago (after over 10 years of being a professional programmer). Friends of mine are converting today. Heck, most vi users were not even born when vi was written! Yes, there are definite reasons why the vi/vim editing model is just superior to any other out there. Misconception #1: modal editing The first time you stumble into vi or vim, you are shocked and disgusted that you have to use 'i' to start typing text. Turns out, this is just a completely wrong way to use vi or vim.

Let me explain the philosophy behind this. And now we come to insert commands. Example #1: the wonderful dot command Let's see a concrete example. The Vim Learning Curve is a Myth. I’ve been speaking about and teaching people vim for several years now, and I’ve noticed a surprising pattern: people are literally afraid of learning the editor.

The Vim Learning Curve is a Myth

Over the years, the popular mythology around vim has become that it’s insanely difficult to learn; a task to be attempted by only those with the thickest of neck-beards. I’ve heard dozens of times from folks who are convinced it will take them months to reach proficiency. These beliefs are false. VIM Adventures. Interactive Vim tutorial. [PYTHON] Beginners Guide: NonProgrammers. Python for Non-Programmers If you've never programmed before, the tutorials on this page are recommended for you; they don't assume that you have previous experience. If you have programming experience, also check out the BeginnersGuide/Programmers page. Books Each of these books can be purchased online and is also available as a completely free website.

Automate the Boring Stuff with Python - Practical Programming for Total Beginners by Al Sweigart is "written for office workers, students, administrators, and anyone who uses a computer to learn how to code small, practical programs to automate tasks on their computer. " Interactive Courses These sites give you instant feedback on programming problems that you can solve in your browser. [PYTHON] Fundamentals: Creating a Pypet. Python Programming Fundamentals Introduction About this Guide This guide was created for complete beginners (i.e. with no programming or computer science experience) and will teach you programming fundamentals in a language called Python.

[PYTHON] Fundamentals: Creating a Pypet

[PYTHON2] Learn Python The Hard Way & Terminal Crashcourse. [PYTHON3] Invent with Python. [PYTHON3] Dive Into Python 3. You are here: • Dive Into Python 3 Dive Into Python 3 covers Python 3 and its differences from Python 2.

[PYTHON3] Dive Into Python 3

Compared to Dive Into Python, it’s about 20% revised and 80% new material. The book is now complete, but feedback is always welcome. Table of Contents (expand) Also available on dead trees! The book is freely licensed under the Creative Commons Attribution Share-Alike license.