Reddit mentions: The best python programming books

We found 218 Reddit comments discussing the best python programming books. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 59 products and ranked them based on the amount of positive reactions they received. Here are the top 20.

2. Effective Python: 59 Specific Ways to Write Better Python (Effective Software Development Series)

Addison-Wesley Professional
Effective Python: 59 Specific Ways to Write Better Python (Effective Software Development Series)
Specs:
Height0.5 Inches
Length9 Inches
Number of items1
Weight0.9700339528 Pounds
Width7 Inches
▼ Read Reddit mentions

3. Python Scripting for ArcGIS

    Features:
  • Used Book in Good Condition
Python Scripting for ArcGIS
Specs:
Height9.87 Inches
Length8.07 Inches
Number of items1
Release dateJanuary 2013
Weight2.58 Pounds
Width0.94 Inches
▼ Read Reddit mentions

4. Two Scoops of Django: Best Practices For Django 1.6

    Features:
  • PREMIUM QUALITY ACRYLIC MATERIALS: Insert Size 5"w x 7"h.Made with extra thick, crystal clear 2 mm acrylic for enhanced strength and durability, making this holder super sturdy and scratch free item, lightweight, durability and easily to clean.
  • PREMIUM QUALITY ACRYLIC MATERIALS: Insert Size 5"w x 7"h.Made with extra thick, crystal clear 2 mm acrylic for enhanced strength and durability, making this holder super sturdy and scratch free item, lightweight, durability and easily to clean.
  • DOUBLE SIDED SIGN HOLDER DISPLAYS: Means twice the visibility. Double your message space and your visibility compared to a single sided slanted holder Vertical sign holder features an open top design for loading one item or you can insert two prints back-to-back to create a double-sided display.
  • MULTIPLE USE: Excellent way to get attention when you want to display marketing advertisements, restaurant menu, promotions, important messages or any personal photo frame. These holders can be used in a multipurpose setting, whether this maybe at your place of business, office, hairdressers studios, outdoors markets, even your home
  • TOP LOADING: Has the benefit of being able to load paper from the top to prevent tampering of the contents inside, making it easy to clean and rapid content change
  • READ BEFORE BUYING…100% quality assurance, make sure you only have to make this investment once!Don’t chance it with a cheap imitator, proudly display your signs with these superior wall mounted acrylic sign holders!
Two Scoops of Django: Best Practices For Django 1.6
Specs:
Height9.25 Inches
Length7.5 Inches
Number of items1
Weight1.7 Pounds
Width1.01 Inches
▼ Read Reddit mentions

5. The Python Standard Library by Example

    Features:
  • The Book of Grimoires: The Secret Grammar of Magic
The Python Standard Library by Example
Specs:
Height9 Inches
Length7 Inches
Number of items2
Weight3.6155810968 Pounds
Width2 Inches
▼ Read Reddit mentions

6. Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code (Zed Shaw's Hard Way Series)

    Features:
  • Sage Publications (CA)
Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code (Zed Shaw's Hard Way Series)
Specs:
Height9.13 Inches
Length7 Inches
Number of items1
Release dateJune 2017
Weight1.1464037624 Pounds
Width0.73 Inches
▼ Read Reddit mentions

7. Core Python Applications Programming (3rd Edition) (Core Series)

Core Python Applications Programming (3rd Edition) (Core Series)
Specs:
Height9.25 Inches
Length7.25 Inches
Number of items1
Weight2.4030386558 Pounds
Width1.25 Inches
▼ Read Reddit mentions

8. Python Scripting for ArcGIS

Python Scripting for ArcGIS
Specs:
Height12 Inches
Length10 Inches
Number of items1
Release dateFebruary 2015
Weight0.75 pounds
Width1 Inches
▼ Read Reddit mentions

9. Practical Computing for Biologists

Used Book in Good Condition
Practical Computing for Biologists
Specs:
Height7.58 Inches
Length9.07 Inches
Number of items1
Weight2.6014546916 Pounds
Width1.03 Inches
▼ Read Reddit mentions

11. Two Scoops of Django 1.11: Best Practices for the Django Web Framework

Two Scoops of Django 1.11: Best Practices for the Django Web Framework
Specs:
Height9.25 Inches
Length7.5 Inches
Number of items1
Weight2.084 Pounds
Width1.25 Inches
▼ Read Reddit mentions

12. The Python 3 Standard Library by Example (Developer's Library)

The Python 3 Standard Library by Example (Developer's Library)
Specs:
Height9.1 Inches
Length7.1 Inches
Number of items1
Weight3.95068373504 Pounds
Width2.15 Inches
▼ Read Reddit mentions

13. Dive Into Python

Dive Into Python
Specs:
Height9.99998 Inches
Length7.99211 Inches
Number of items1
Weight657.7 Grams
Width0.692912 Inches
▼ Read Reddit mentions

14. A Smarter Way to Learn Python: Learn it faster. Remember it longer.

A Smarter Way to Learn Python: Learn it faster. Remember it longer.
Specs:
Height10 Inches
Length7 Inches
Number of items1
Weight0.92 Pounds
Width0.5 Inches
▼ Read Reddit mentions

15. Introduction to Computer Science Using Python: A Computational Problem-Solving Focus

    Features:
  • Comfortable recycled cotton blend
  • Great quality
Introduction to Computer Science Using Python: A Computational Problem-Solving Focus
Specs:
Height9.200769 Inches
Length7.40156 Inches
Number of items1
Weight2.45594959868 Pounds
Width1.401572 Inches
▼ Read Reddit mentions

16. Data Structures and Algorithms Using Python and C++

    Features:
  • Used Book in Good Condition
Data Structures and Algorithms Using Python and C++
Specs:
Height9.2 Inches
Length7.4 Inches
Number of items1
Weight2.15 Pounds
Width1.2 Inches
▼ Read Reddit mentions

18. Treading on Python Volume 2: Intermediate Python

    Features:
  • Used Book in Good Condition
Treading on Python Volume 2: Intermediate Python
Specs:
Height7.99 Inches
Length5 Inches
Number of items1
Weight0.37 Pounds
Width0.35 Inches
▼ Read Reddit mentions

19. Python Fundamentals LiveLessons (Video Training)

Python Fundamentals LiveLessons (Video Training)
Specs:
Height9 Inches
Length7.25 Inches
Weight0.82011961464 Pounds
Width1 Inches
▼ Read Reddit mentions

20. Starting Out with Python (3rd Edition)

    Features:
  • Brand New. Come with online code. Ship within 24 hours. Quality guaranteed.
Starting Out with Python (3rd Edition)
Specs:
Height10 Inches
Length8 Inches
Number of items1
Weight2.1825763938 Pounds
Width1 Inches
▼ Read Reddit mentions

🎓 Reddit experts on python programming books

The comments and opinions expressed on this page are written exclusively by redditors. To provide you with the most relevant data, we sourced opinions from the most knowledgeable Reddit users based the total number of upvotes and downvotes received across comments on subreddits where python programming books are discussed. For your reference and for the sake of transparency, here are the specialists whose opinions mattered the most in our ranking.
Total score: 15
Number of comments: 4
Relevant subreddits: 1
Total score: 15
Number of comments: 2
Relevant subreddits: 2
Total score: 13
Number of comments: 2
Relevant subreddits: 1
Total score: 9
Number of comments: 2
Relevant subreddits: 2
Total score: 7
Number of comments: 3
Relevant subreddits: 1
Total score: 6
Number of comments: 3
Relevant subreddits: 1
Total score: 4
Number of comments: 3
Relevant subreddits: 1
Total score: 4
Number of comments: 2
Relevant subreddits: 1
Total score: 3
Number of comments: 2
Relevant subreddits: 1
Total score: 2
Number of comments: 2
Relevant subreddits: 1

idea-bulb Interested in what Redditors like? Check out our Shuffle feature

Shuffle: random products popular on Reddit

Top Reddit comments about Python Programming:

u/syntonicC · 13 pointsr/datascience

I used R for about 4 years before I moved to Python to use it for deep learning. I have been using Python for about 2 years now.

>Are R and Python considered redundant, or are there some situations where one will be preferred over the other? If I become proficient at using Python for data wrangling, analysis, and visualization, will I have any reason to continue using R?

It depends. I haven't really found anything that I can do in Python that I could not already do in R. I still use R because I like it better as a functional programming language and because it has a wide variety of more specific statistical packages (many for biology) that are just not available for Python yet. There are some specific cases where I just find it more intuitive and simpler to implement a solution in R. And generally, I just prefer ggplot2 over any of the various Python plotting packages. Also, R has high level API for things like TensorFlow so it's not like you can't do deep learning in R.

The biggest advantage for Python is its speed and ability to work within a larger programming framework. A lot of companies tend to use Python because the models they build are integrated into a larger system that needs the capabilities of a fully-fledged programming language. Python is generally faster and has better management of big data sets in memory. R is actually moving more in the direction to fix these issues but there are still limitations.

>Where should I start? I'm looking for a resource that isn't aimed at complete beginners, since I've been using R for a few years, and took a C class before that. At the same time I wouldn't claim to be an experienced programmer. I'm interested in learning Python both for data analysis and for general programming.

I learned Python syntax using Learn Python 3 the Hard Way. I learned about Pandas and data wrangling etc using Pandas for Everyone and Pandas Cookbook. If I was to suggest just one book, it would be Pandas for Everyone. You can learn Python syntax from YouTube, MOOCs, or online tutorials. The Pandas Cookbook is just extra practice. To be honest though, the general conventions used by Pandas for data analysis and manipulation are very similar to R in many ways. Especially if you've used anything in Hadley Wickham's Tidyverse. Finally, I made a Pandas cheatsheet while I was learning and including equivalent R functions in some places. I would be happy to share this Google Sheets file with you if you are interested.

>What IDE(s) should I use, and what are some must learn packages? I'm hoping to find something similar to RStudio.

I started off using PyCharm. I've heard good things about Spyder. But now, I actually still use RStudio! It is fully integrated with Python thanks to the Reticulate package. You can pass data structures between the languages and use both in RMarkdown. You can also use virtual environments which are popular with Python. Once you install the package:

library(reticulate)
use_virtualenv("path_to_my_virtual_env") # Start virtual environment

You can now run Python scripts directly in the RStudio console

# If you want a Python REPL to use interactively just like in R run:<br />
repl_python()<br />


It's really easy to use and even comes with auto-complete and everything else.

Hope that helped.

u/xPolydeuces · 2 pointsr/learnpython

My friend who was getting into Python recently asked me about the same thing, I've made some research and this was what I came with. Just for the record, I'm personally a book dude - can't really focus much when learning from Udemy courses and stuff like that, so I will only cover books:


First book:


Python Crash Course by Eric Matthes
Very solid position for beginners. The first part of the book covers Python's basics - data types, lists, functions, classes, pretty much everything you need to get a good grasp of Python itself. The second part of the book includes three practical projects, mini-game, data visualization and an introduction to making web apps with Django. From what I so, it's a pretty unusual approach to beginner friendly books, since most of them avoid using additional libraries. On the other hand, it's harder to get bored with this book, it really makes you want to learn more and more once you can actually see the effects of all your work.


Automate the Boring Stuff with Python by Al Sweigart
Best alternative if you want to spend 0 bucks or want to dive all into projects. Even though it covers basics as well, I still recommend to read it, even if you have done Python Crash Course before, even just for the sake of all those projects you can make to practice your Python. He also has a Youtube channel where he has a loooot of Python content and sometimes does cool things like streaming and helping people make their code better, really cool guy, be sure to check his channel!


Second book:


Writing Idiomatic Python by Jeff Knupp

Very solid book, filled with examples what you, as a Python developer should do, and what you shouldn't (and why not). Sounds like not much, but it is actually a lot of useful knowledge that will make your code shorter, cleaner and better.


Effective Python by Brett Slatkin

A bit easier to understand and easier to approach than a previous book, but still has a load of knowledge to share.


Third book:


Fluent Python by Luciano Ramalho

One of the best Python books overall, covers all of the things that previous books could have missed or didn't have time to introduce. My personal favorite when it comes to books for advanced Python developers.


All of those recommendations are my personal opinion, so if anyone has anything to add, I will gladly listen to any comments!

u/fiftycircles · 16 pointsr/gis

The first programming-related thing a company would look for in a candidate for a purely GIS job is Python, no doubt. Especially if you're brand new to programming, start with Python. If you're proficient in ArcGIS already, I recommend this book. You can also start with the easy online tutorials like Korlyth mentioned, but remember that you won't truly learn Python unless you apply it. Come up with a project and practice using your new skills. Then, if an employer asks for a portfolio, you have some good examples to share! A good example would be to analyze a large Excel file, import that data into ArcGIS, make some shapefiles from the data, and then maybe run some spatial analysis on those shapefiles-- ALL within your Python script (you don't even have to open ArcMap!). The big advantage is using Python for automation of repetitive tasks. It's tedious to do some analysis for all the individual counties in a state by hand, but you could practice doing this analysis in a script.

After that, I recommend learning some geospatial R. More and more organizations are starting to use R, and it can be helpful to learn some languages/packages that are not strictly used by ArcGIS. I recommend this book.

SQL might be good to learn since GIS tends to be all about databases. It might be tough to learn if you don't already have a huge database/server to work with, but try to learn what you can. I feel like Python, R, and SQL cover a lot of the non-web aspects of GIS programming.

If you want to take it to the next level, then you could learn some web-based programming. It can be tricky to learn this because there are several languages that work together (ex. HTML puts the content on the web page, CSS edits the content to make it look nice, and JavaScript manipulates the behavior of the content). You could start by building a basic web page (non-GIS) so you can learn these languages individually. Once you have a better idea about syntax and how they work together, you could move to GIS stuff. You could start by using a pre-existing web map service such as CartoDB and using HTML, CSS, JavaScript, etc. to put the web map on your own website and edit it.

u/dynamowku · 7 pointsr/django

Like those before me, I had been doing the same thing. It's a practice I borrowed from the 2 Scoops of Django book.

It's served me well and I think it's fine to do this, but in a recent project I started using the project django-configurations which has also been pretty nice to use. It allows me to create individual python modules (common, local, staging, production, etc.), but where it's completely different is each module contains a class-based representation of the settings your'e interested in. Each non-common/base configuration (like staging) would inherit from the common class. It's quite nice in my opinion and recommend a look to see if it works for you.

EDIT: By the way, I discovered django-configurations via setting up my initial Django projects using django-cookiecutter and using the cookiecutter-django template. Take a look at their requirements files to see the load of stuff they start you off with. There's serious efficiency boosters in there that I've been using a lot lately and makes my life a bit easier once you get the hang of it all. Hope that helps!

u/NoOneOfConsequence · 2 pointsr/gaming

You definitely could pick it up IF you are genuinely, deeply interested and have the aptitude for it. Are you good at math? If you are at last slightly above average, you should be fine. If you're the sort of person who hates math, then anything beyond intermediate-level college courses will probably be too difficult/tedious for you.

You also shouldn't do it if you're interested because you think the money is good. You won't be able to stick with it unless you are truly interested and driven to learn the craft.

Personally, I'm so-so when it comes to math. I was never great at it and this is what hampered me the most. I'm a 2nd year CS student right now. I have struggled with some concepts that other students breezed right through, but I have made it this far partly out of sheer determination.

If you're interested in getting started, you might want to check out the CarlH subreddit. Carl has been posting great tutorials there for the better part of a year. See the sidebar in that reddit for more info.

I got my start around 17 months ago. Having learned some programming years ago but not remembering enough to write a single line of code, I sat down with Wesley Chun's Python Live Lessons and I was hooked almost instantly. If you aren't familiar with programming, Python is an excellent first language to learn. and these video lessons are a great primer. HTH!

u/kitanata2 · 3 pointsr/personalfinance

I mentored at DevBootcamp localhost here in Columbus, Ohio and have worked as a software developer for the last 10 years (6 of which in consulting for startup companies). I don't know what program you'll be attending, or the curriculum they teach. Not all bootcamps are created equal, and if you have a scholarship I HIGHLY RECOMMEND you do extensive research into which program you'll be attending.

So first off, I want to say beyond a reasonable doubt, you should do it if you have an interest in software development. I don't want to discourage you from wanting a better life, and it's absolutely true that the best companies hiring devs don't give a shit about your degree or lack of it. The best developer I ever met had a Masters in Psychology, and I've met PLENTY of devs with CS Master degrees that couldn't code their way out of a paper bag.

A degree has no bearing on your ability to be a great developer.

That said, there are three things that will. Practice, patience, and passion. Software development isn't for everyone, and staring at a computer for 8 hours a day desperately trying to get something "simple" to work, that isn't working (sometimes for weeks at a time on a single bug) can be incredibly frustrating. It requires patience, very strong problem-solving skills, lateral thinking, creativity and a DEDICATION to life-long learning.

What you learn in your bootcamp will be invalid (or rather legacy code) in 2-3 years. You must keep learning, above all else.

That said, as much as I believe great developers can come from anywhere, I honestly think you need to have a mind for it. A sort of natural talent. It is completely possible, that you'll find you if you do this, that you're not cut out for it. If you go to a good program, they will guide you through that. Do not let it discourage you in your goals for a better life. For me personally, I struggled a lot in the beginning. I almost dropped out of college, twice. But I kept going, and that innate talent started showing itself.

For some people, they get programming right away. For others, like me, it takes awhile. And for others still, no matter how hard they try they just aren't capable of it. Walk this thread carefully. At first, it will seem like you understand 2% of what people are teaching you. It's like going to China without learning mandarin first. Everything will be confusing as fuck. You're going to think "This isn't for me. I can't do it", but odds are you can. If you are struggling seriously think "I can do this" over "I'm not cut out for it", especially if that 2% starts turning into 10% and then 15% and so on. In this case, it just means you need to get across some barriers to learning. Keep at it.

On the other hand, if you are doing everything you can to learn, and you've put in a TON of work and time and you're not retaining 5% of the stuff you're learning (or keep forgetting the same simple concepts over and over) after you've been doing it for awhile, do not be ashamed to throw in the towel. You gave it a shot. The only way to know if this line of work is for you, is to try it.

Here's how.

Before you start this bootcamp you need to start programming today. Like right now. Seriously. NOW. I don't give a shit about how your situation might be holding you back. Crash in the park. Start couch surfing. Go to the library. Find local tech events. Buy a shitty laptop off craigslist and dump linux on it, and start hacking. Go through this and this and this and this and this and this and buy this book. Start EASY. Pick the simplest looking thing, something targeted to kids, or middle-schoolers and start there and work your way through whatever you can. DO IT SLOWLY. Understand the fundamentals. It will seem like your not accomplishing anything for awhile (as far as writing cool looking apps). It's not a race. Understand what is going on with the code. Why does it do what it does? Why does it keep erroring? Why isn't the compiler doing what I think it's doing? Ask Questions. If you don't understand something, and you get stuck, go learn something else about coding, and come back. Learn to walk around problems. You're not going to get everything all at once. Some concepts are REALLY hard at first. Go learn the easier stuff first, then come back and try to climb that mountain again.

One of the most common thing people learning programming have told me, is that they did not realize it took so much effort just to do seemingly simple things. You will be surprised at the amount of code you have to write to get something to work, and you will beat your head against the wall every step of the way while you're learning. The compiler will fight you. The program will crash. The code just won't work, and it will seem completely unreasonable why. Shit will break without telling you, or giving you obvious error messages. Just realize, that every problem is a wall, and every wall you knock down gets you closer to your goal.

Once you feel like you can't learn anymore on your own. THEN start your bootcamp. Have a list of questions ready for the bootcamp. Write down specific things you weren't able to learn on your own, that you need help with there. ASK A SHIT TON OF QUESTIONS. Get a mentor and bug the ever living shit out of them.

Top 5 things that will fuck with you while you're learning.

  1. Basic control flow. (Loops, if statements, and shit)
  2. By reference / By value.
  3. Stack traces &amp; Debugging.
  4. Object Oriented Thinking.
  5. Functional programming (Closures specifically).

    ---

    Now, for the reality check, after you graduate. It's extremely unlikely you'll get a job as an entry-level dev in Omaha (I looked up the stats) for more than $60k/year. It will take you at least 5 years to work up to $100k/year and that will require you to learn at an incredibly breakneck pace (and to hop jobs about once every 2.5 years). To get to that level of skill you will need to be writing code, on average 60 hours or more a week, and you'll need to experiment with shit that you aren't using at work and work on side projects at home. You'll need to do this non-stop.

    Lastly, even with DevBootcamp (which I think is an absolutely great program), the graduation rate was around 60%. Not everyone makes it, and even of those that did, not everyone got jobs. You need to go in there with everything you got, and even if it doesn't work out at the bootcamp, DON'T STOP PROGRAMMING. If this is what you want to do, and you keep learning, you can do it. I promise you. Just don't pump yourself up thinking it will be a cakewalk and you'll make out with a nice job in the end. It might not happen. If it does and you find yourself at a nice company, and you aren't putting in the work to learn, and grow, soon you'll be without a job and without the ability to find one. But if you work hard, and break through every wall that is holding you back, and you persevere you will make it in the end.

    The life of a developer is incredibly rewarding, and I would love to use some library you write in 3 or 4 years that makes my life easier. So go give it a shot, give it everything you go. Don't let failure (or the fear of it) hold you back.

    Good luck.
u/RangerPretzel · 1 pointr/learnpython

Sure, I'm self-taught, but I've been in software engineering for a while.

Python is like a lot of other languages. It has its own vocabulary for some things, but it also uses the vocabulary for most other things in the industry.

Mostly, I just picked up a book and started reading and coding. It also helps to have someone to chat with, too.

My one co-worker and I like to geek out about Python nuances. He's a big fan of it. I like Python, too, but prefer statically typed languages, like C# and Scala. Although I do code in Python daily.

So we have interesting debates about things. It's not that we're diametrically opposed about things, it's that we have subtle differences that we like to discuss.

And we both learn about the language this way.

So yeah: recommendation: Get someone to talk to about this. Also read other people's code.

Also, I like the book Effective Python: 59 Specific ways to write better Python

u/DutchPhenom · 6 pointsr/AskEconomics

Now this is an interesting and difficult question, which depends on many things. For starters, if you find this process frustrating that is unfortunate, because learning how to code is usually a trail and error + revise your work process. In other words, its supposed to be both frustrating and rewarding, like a hard (text-based) video game. For me its half of the fun.

What you want to learn really depends on the context. If you are really diving into econ, Stata is still very common. More stats-heavy, new, or interdisciplinary fields tend to use R. If you work with big, live datasets, or work with computer scientists, learning Python is always a plus. But obviously start with one.

I am proficient in stata simply because I had classes in it, it is difficult for me to advice how to self study. I learned most of the basics through An Introduction to Modern Econometrics Using Stata, and later on most of my R through R for Stata Users (Statistics and Computing) . I also learned some R through Discovering Statistics Using R, but I find Field obnoxiously failing to be funny, so I wouldn't reccomend it.

I'm now in the process of learning more Python, to do some more programming work on the side. As a start I used Learn Python 3 the Hard Way recommended to me by a very proficient friend of mine. This however does not give you much of an intro to stats in python, only the very very simple basics you can use as a vantage point for further work.

If you have learned the basics, tbe hest way to learn more is just to fool around. What is your field of interest? I like a lot of macro, so I used to just go to Quandl, pick some free databases, import them, and run some fun stuff. This is the best way to learn, especially if you for example try to merge free World bank databases with a different database from Quandl, as it will give you a lot of errors whilst merging and conversion problems later on.

If you are a bit more proficient you can start using websites like upwork to get some assignments. Usually it doesn't earn you much at the start, but the experience of actual assignments is the best way to self-teach. A different manner I like to do (if you are still studying) is offering your services (for free) to a professor. Ask him/her if there are still projects they are working on for which they need some to look at. Usually you will be treated solely as someone for the code, but it generally gives you a lot of experience and the right contacts.

These are just some of my thoughts. If you could provide some more context of where exactly you want to go, I could go into more detail.

Edit: What I forgot to say is that if it is not possible to study a course, I would recommend doing at least one MOOC to get you at a basic level.

u/druski · 1 pointr/django

There are a few basic ways of customizing the display of form fields.

Without using outside packages

  1. Pass an attrs dictionary to the form field, ex name = forms.TextInput(attrs={'class': 'myclass',}) see here for documentation https://docs.djangoproject.com/en/dev/ref/forms/widgets/#django.forms.Widget.attrs

  2. Alternately, for even more fine control you can skip using the built in form renderers, {{form.as_p}} {{form.as_table}}, and override the form template completely, see here https://docs.djangoproject.com/en/dev/topics/forms/#customizing-the-form-template

    Using 3rd party packages

  3. Crispy forms lets you do very advanced layout control, including full support for bootstrap all in python, check out https://github.com/maraujop/django-crispy-forms.

  4. Widget tweaks gives you some template tags to make overriding the indvidual templates easier, see https://github.com/kmike/django-widget-tweaks


    I recommend that you do use django forms, as they are quite easy to use and handle all of the validation for you (use required=True on each field, and you are done for the simple 'not blank' checking you mentioned). I'd start with just setting the class in the attrs dict if your needs are simple, and if you have more complex needs, check out crispy forms. I quite like that package.

    The excellent Two Scoops of Django 1.6 book covers forms quite well, if you are familiar with the basics of Django and want expert advice on best practices I highly recommend it. Available on amazon.


    Edit: actually I may have misread your post, if you are just talking about adding css to the form tag itself, that is simply as described here https://docs.djangoproject.com/en/dev/topics/forms/#displaying-a-form-using-a-template:

    &lt;form action="/contact/" method="post" class='myclass'&gt;
    {% csrf_token %}
    {{ form.as_p }}
    &lt;input type="submit" value="Submit" /&gt;
    &lt;/form&gt;
u/nihilo · 1 pointr/Python

That was going to be my recommendation too. It's a very good reference work that contains lots of good, idiomatic code.

The python.org docs are surprisingly good at times as well. The data model section of the Python Language Reference is worth a quick read even by experienced Python developers.

For packaging, the Python Packaging Authority is doing some great work. The Python Packaging User Guide is a nice read that fills a large hole in the packaging space. Now with Pip in 3.4 by default and PyPA making rapid progress, it looks like there is an end in sight to the slow-motion train-wreck-in-progress that has been the Python packaging &amp; install landscape for many years now.

The Python Standard Library by Example and Python Module of the Week have been mentioned already, but they are outstanding and should definitely be consulted, although they are unfortunately Python 2 -- I'm not sure if pymotw.com/3/ is the beginning of a new PyMOTW for Python3 or an aborted reboot under Python3.

If you would like to learn about asynchronous programming and the Twisted framework, there is a really great and extensive set of tutorials by Dave Peticolas: Twisted Introduction | krondo./?page_id=1327)

u/samort7 · 257 pointsr/learnprogramming

Here's my list of the classics:

General Computing

u/jjniev01 · 1 pointr/gis

Here is what it sounds like to me what you are wanting to do, correct me if I'm wrong:

  • Input a list of coordinates in some format (e.g. table view, csv file, etc) along with a search radius value

  • Have something, ArcMap or a python script, go through each set of coordinates and return pertinent information within the designated search radius for each input coordinate

    You could possibly do this in model builder using a table object, table view, or a linked Access database as the input object containing the coordinates. Honestly, I have never been able to figure out the iteration tool in model builder and find it much easier to write everything in Python. Perhaps another user could be of assistance if you take the model builder route.

    If you were to go about it in Python, as a script in a custom ArcTool, you would have the user put in a table object of some sort as mentioned above and could also go the CSV file route which would allow you to easily convert Excel related files to a more friendly file type. You could also make a standalone script which would allow you to do everything without having to open ArcMap.
    However, if you are very new to Python and are not familiar with object oriented program, I would say that model builder is your best bet as what you describe is very likely outside of your current programming capabilities.

    Here are some great books for learning Python and using Python within ArcGIS.
    Python Scripting for ArcGIS
    Introduction to Computing Using Python: An Application Development Focus
u/slayerming2 · 1 pointr/learnpython

Okay yeah sorry, I'll try to do more research on the reddit next time. A less knowledagable friend suggested I try my hands on with VBA and, I asked my more knowledgable friends about that and php. He said that VBA is kind of outdated and PHP, although easier, is really specific for what you want, and Python encompass both VBA and PHP better. Do you agree with that?

Also is this the book you were talking about? https://www.amazon.com/Learn-Python-Hard-Way-Introduction/dp/0321884914

My friend said he said he heard good things about this book https://www.amazon.com/Automate-Boring-Stuff-Python-Programming/dp/1593275994?ref_=nav_signin&amp;amp;

What do you recommend?

u/RexDaemonia · 2 pointsr/hacking

I second Python as a great beginner language.

Here you go /u/moonknightspidey - http://learnpythonthehardway.org/

You don't have to buy the book, it's available through the web site for free. If you prefer a physical book: https://www.amazon.com/Learn-Python-Hard-Way-Introduction/dp/0321884914

The person I'm replying to also recommended Ruby. Zed Shaw also wrote a ruby book.

Online (free): http://learnrubythehardway.org/book/

Print: https://www.amazon.com/Learn-Ruby-Hard-Way-Computational/dp/032188499X

And if you're feeling crazy then you can learn you a haskell (don't do this).

Bookmark these for when you get into C later:
http://c.learncodethehardway.org/book/ Same guy who wrote Learn Python the Hard Way. The online (free) copy of Learn C etc is incomplete, but is now available in print in full: https://www.amazon.com/Learn-Hard-Way-Practical-Computational/dp/0321884922

Then there's beej: http://beej.us/guide/

And the obligatory TCP/IP book: https://www.nostarch.com/tcpip.htm

If anyone's wondering about why I just spammed the shit out of Zed Shaw's books, it's because his writing style is very easy to get into and keeps your attention. It's anything but dry, and focuses on making you write code, break it, and figure out why it broke.

There are other good Python books as well, like this one: https://www.nostarch.com/automatestuff

And here's another No Starch book on Ruby (I like No Starch - Absolute OpenBSD is a great reference) - https://www.nostarch.com/ruby

u/[deleted] · 1 pointr/learnprogramming

If you're like me and prefer having a physical book then check out The Quick Python Book. I'm working my way through it now and have only good things to say. It's fairly comprehensive (covers Python3), to the point, written for experienced programmers, and very enjoyable. Plus it comes with a completely free version of the eBook (I'm looking at you Safari) should you ever need it. The free online resources posted by others are great as well.

u/sudipkafle · 8 pointsr/django

Here are a couple of things I would recommend anyone diving in more depth into Django:

  • Learn about Class Based Views. You are going to implement them most of the time in projects.
  • Implement Test Driven Development on your new projects. Here's a nice book on TDD with Django which is available online for free.
  • Go though the book 2 scoops of Django to know about best practices.
  • Implement best practices like - multiple requirements.txt and settings.py for production and local, using named urls and reverse, profiling with tools like Django Debug Toolbar.
u/vahtos · 1 pointr/gis

I've never been to one of these live courses, but I doubt they are any more valuable then just looking at free videos online and reading books. The main advantages to books/videos is you can go at your own pace, they are packed full of more information than can possible be conveyed/received in a short live course, and they are going to be MUCH cheaper.

A couple of good books to check out:

For learning to interact with ArcGIS software: https://www.amazon.com/Getting-Know-ArcGIS-Michael-Law-ebook/dp/B01DK3SWO4/ref=mt_kindle?_encoding=UTF8&amp;amp;me=&amp;amp;dpID=41J4z6t5nqL&amp;amp;preST=_SX342_QL70_&amp;amp;dpSrc=detail

GIS Basics: https://www.amazon.com/GIS-Fundamentals-Geographic-Information-Systems/dp/1506695876/ref=pd_sbs_14_4?_encoding=UTF8&amp;amp;pd_rd_i=1506695876&amp;amp;pd_rd_r=WM4VTBZR7PNZM326YA47&amp;amp;pd_rd_w=3jJcZ&amp;amp;pd_rd_wg=8MKvp&amp;amp;psc=1&amp;amp;refRID=WM4VTBZR7PNZM326YA47&amp;amp;dpID=51oUfZ5VUCL&amp;amp;preST=_SY291_BO1,204,203,200_QL40_&amp;amp;dpSrc=detail

For ArcPy/Python: https://www.amazon.com/Python-Scripting-ArcGIS-Paul-Zandbergen/dp/1589483715/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1517942628&amp;amp;sr=1-1&amp;amp;keywords=python+for+arcgis

There are also plenty of free resources to learn to use QGIS: http://www.qgistutorials.com/en/

The important thing to focus on from any of these sources though, is to learn the concepts, not the processes. The GIS concepts are the same across different softwares, platforms, programming languages, etc.

u/cscanlin · 10 pointsr/learnpython

Sorry you had to go through that. Zed Shaw is pretty widely discredited among a big portion of the community for stuff like this, and the fact that he still wants the world to stay in the past on Python 2.

Automate the Boring Stuff is extremely well regarded as a learning resource on this subreddit, which can definitely not be said about LPTHW. It's free online, but you'll probably only really need to skim through it if you feel pretty comfortable with the basics.

I've also seen Effective Python and Fluent Python recommended as good intermediate books if you want something a little more challenging, but I haven't read either so YMMV.

u/phodopus · 1 pointr/biology

I started with R, mainly for the stats, then as I got more into the bioinformatics I learned bash and python. Nearly everything I do these days is some combination of those three.
I found R to be a nice gateway language because it is immediately useful for any stats project. On the other hand, I've taught an intro python course and python is pretty nice to start with too.
If you're keen to get into python, I suggest Practical Computing for Biologists which is a great intro into using a computer to do biology.

u/ziptofaf · 3 pointsr/learnprogramming

&gt; Right now I don't even know the limit of what can be done with Python. Idk what it is used for.

Literally anything - Django is one of the most popular web frameworks. You have PyGame if you want to make video games. Heck, it's even used in Deep Learning via Theano. You can also use it as a script language - be it as an "addition" to a different language in your application or a separate script to run. Easily ones of the most versatile languages.

Of course there are certain aspects of a language that might make it not suitable for specific tasks too. You do need a Python interpreter installed on your computer to make use of programs written in it after all (meaning it's pretty much useless for embedded devices), it's raw performance is but a small fraction of what C++ can do (but in exchange it's much easier and faster to code) so it's probably not the best choice if you want to write your own server/game engine/computation heavy application.

As for where to find some tutorials - I would look for Learn Python the Hard Way, it's pretty often recommended. Despite the name, it's not hard. There's also Automate the Boring Stuff with Python.

But learning of a language itself is like knowing words in a foreign language. But you still need to understand how to make sentences in it. So I also suggest visiting /r/dailyprogrammer to do their beginner and intermediate level quizes and/or eventually getting a book on algorithms and data structures. This should be enough for you to understand how to actually program things.

Afterwards it's a question of what you WANT to do, it will be a good time to pick up a project to work on. Be it a game, website, some kind of a program - whatever. This is where you learn the most but also a time when you won't find answers lying directly in the books and you will need to self study while understanding how to use google/ask correct questions.

u/yyzdslr · 1 pointr/learnpython

If you are a beginner coder like myself (someone who procrastinates and is distracted very easily, most of the time by random subreddits :) This method of learning python has helped me tremendously:

  1. Find your nearest book store and locate a copy of ['Learn Python the Hard' Way by Zed Shaw] (http://www.amazon.com/Learn-Python-Hard-Way-Introduction/dp/0321884914)

  2. Find a nice comfortable spot in the Bookstore (DO NOT connect to the wifi)

  3. Go through 5-7 exercises a day initially and then set your own pace as you pick it up.


    Shaw does a great job at breaking it down into small chunks to consume and a lot of repetition typing code so you get familiar and comfortable before he moves on to more difficult concepts; at which stage if you follow the exercises and do the study drills the concepts should be easier to understand.

    Learning python the hard way actually turns out to be the easier way in the end
u/CarlosDanger0123 · 1 pointr/learnpython

I've had that book for about 4 years. It's helpful, but I think there are better ones out there. The good thing is that it's free (online).

&amp;#x200B;

I would suggest Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code

u/rzzzwilson · 3 pointsr/learnpython

I like Dave Beazley's book, though it may be a little tough for a noob as it's a real reference. The beginning does have a quick introduction to python, but it doesn't try to teach python. The rest of the book is a reference for many of the library modules.

Another one to consider is Doug Hellmann's book. If you like his online Python module of the week site you'll like the book.

Both of the above books are references to using the library modules. Once you know the base language this is the sort of reference you need. If you are still learning base python then you need some other reference until you are ready for books like the two above. The nice thing about Amazon is that you can download a free e-book sample before buying, though it's probably wise to do a final check of the paper version before buying as an e-book can be very different from the paper version (usually worse, but who knows). The Hellmann e-book is particularly bad in this respect.

u/retrojoe · 7 pointsr/AskAcademia

I'm about to graduate in Geography (GIS) from a very, very human/critical theory focused dept at state school.

My favorite GIS text so far has been Nicholas Chrisman's Exploring Geographic Information Systems. It's not super exciting, but it's kind of historical, covers a huge number of basic elements of information science, and situates it as technical discipline that serves/is grounded in socio-political things. Great for people who've seen the very basics of clip/overlay/make layer in a GIS, but don't have much understanding of the why/how.

Plus there are no fucking screenshots of software menus.

If you've never seen those on a screen, try Price's Mastering ArcGIS series, comes with data and is basically just lots of long, in-depth tutorials. No need to buy the newest version, the software doesn't change that quickly.

It's not a 'beginner' book per se, but a pretty comprehensive coverage of the concepts of Nature and the nature of geography in anglophone traditions plus a number of historical and current takes on the matter: Noel Castree's Nature.

For those interested in scripting/Python with ArcGIS, I can recommend Zandbergen's Python Scripting for ArcGIS and Pimpler's Programming ArcGIS 10.1 with Python Cookbook. The former is a textbook proper, teaches some theory, lots of contextual (in terms of the program) information, the later is much more of a straight recipe/how to, with a few pointers about how things might get messed up or why you're seeing that error in that place.

u/almostdvs · 3 pointsr/sysadmin

First, read our Wiki. It is very thorough and answers a lot of these common questions such as

day to day? The Practice of System and Network Administration
And the topical reference books listed below.

Books to help in shaping a sysadmin? The above &amp;:
The Phoenix Project
Time Management for System Administrators


Topical Books I see mentioned often and have been very helpful to me:
Powershell in a month of lunches
Learn Python the hard way
Unix and Linux System Administration Handbook
Windows Server 2016: Inside Out

Group Policy
AbsoluteBSD
FreeBSD mastery:ZFS
CCNA
RHCSA/RHCE
Pro Puppet
SSH Mastery

On my docket:
FreeBSD Mastery: Advanced ZFS

Michael W. Lucas and Thomas Limoncelli are very good sysadmin writers, you can't go wrong with a topic they have chosen to write about.

Most of the *nix stuff assumes a baseline knowledge of how to use a unix-based system. I learned as I went but did pick up an old copy of Unix Visual Quickstart Guide not too long ago at a used books sale, which seems like a good starting place for someone overwhelmed with sitting at a terminal and being productive.
I notice I don't have any Virtualization books, perhaps someone else can fill in good books. Most of my knowledge regarding virtualization and network storage has been a mix of official docs, video training, and poking at it. Seems innate but it isn't.

u/drivelous · 2 pointsr/Python

For me, it's Core Python Applications Programming by Wesley Chun. Just check out the table of contents. He gives you insight into seeing the power of Python and allows you to explore what else you want to do.

I think docs are cool and all, but project based learning is what I like best and he goes line by line through working code samples. For example, in chapter 7 or 8 (I forget) he codes a functioning web crawler. I've been sticking print statements everywhere to see what works and why and he explains things really well. I'm skipping the first part of the book and diving directly into the web development portion, but the stuff he has in there about GUI programming with Tkinter, Multithreading, and Network Programming all seem really cool.

u/delirial · 1 pointr/learnprogramming

Based on my previous experience with Head First books, I'd recommend Head First Python. Out of the three reviews on the main page on Amazon, the bad review is complaining about it not being "deep enough" for an experienced programmer. I have to say, the Head first series is kind of fun. (Geeky jokes, cool exercises, etc).

Python Programming for the Absolute Beginner, 3rd Edition seems to have decent reviews too.

Dive Into Python if I remember correctly assumes a little bit of experience from the reader. But it's a very good book.

I know that you are looking for something structured to pass on... but don't forget that the best thing you can "teach" is how to look things up.

Also, OCW (MIT) has a class on iTunes/YouTube on programming concepts with python. Definitely worth the time investment.

u/babbagack · 1 pointr/learnprogramming

This might be a fantastic book if you are trying to learn through your fingers, ie, practice a lot while you learn:

https://www.amazon.com/Smarter-Way-Learn-Python-Remember/dp/1974431479/ref=tmm_pap_swatch_0?_encoding=UTF8&amp;amp;qid=1519404377&amp;amp;sr=8-1-spons

Have done both his HTML/CSS and JavaScript. Not trying to learn Python right now, but its a method of learning and I enjoyed two of his books so far, so you might. Not meant to be all-encompassing, but really enjoyed them. Basically short lessons(literally 1-5 pages perhaps) and then 20 online exercises to try and help memory. Been described as a "painless" way to learn, sounds apt in my experience with two of his books.

u/thetalentedmrpeanut · 1 pointr/learnprogramming

Since python is the language I'm learning at the moment I chose this book Introduction to Computer Science Using Python. It's a decent book so far. I'm sure if you google "Intro computer science with" and then fill in the language you prefer you'll find something. I originally found another book first but it was written with Ruby in mind so I kinda felt like a German student who accidentally signed up for a French class or something. So I found this book that uses python. This book is written better than the Ruby book too. So yeah if you're into Python check it out. I haven't read any other intro to comp sci books though so I'm not claiming it's the best.

edit: a word

u/mitchell271 · 1 pointr/Python

Been using python for 5 years, professionally for 1. I learn new stuff every day that makes my python code more pythonic, more readable, faster, and better designed.

Your first mistake is thinking that you know the "things that every python programmer should know." Everyone has different opinions of what you should know. For example, I work with million+ entry datasets. I need to know about generators, the multiprocessing library, and the fastest way to read a file if it's not stored in a database. A web dev might think that it's more important to know SQLAlchemy, the best way to write UI tests with selenium, and some sysadmin security stuff on the side.

If you're stuck with what to learn, I recommend Effective Python and Fluent Python, as well as some Raymond Hettinger talks. You'll want to go back through old code and make it more pythonic and efficient.

u/TailoredBeats · 8 pointsr/django

There's no reason that data rich applications can't be rendered server side. It just takes a little bit more thought. Basecamp is a Rails app but it's a great example. I'd look into how it is setup and see if you can't replicate that using Django. I know that you can use the Turbolinks library that they use with Django it just requires a Middleware to set the headers it requires. You might also pick up Two Scoops of Django and read the sections on templating best practices.

u/MyWorkID · 3 pointsr/gis

You can definitely script this.

This is a really, really great book- I think:

http://www.amazon.com/Python-Scripting-ArcGIS-Paul-Zandbergen/dp/1589482824/

Check the sidebar at /r/GISscripts if you haven't. You might find something helpful.

Otherwise, just figure out the exact workflow you need to do and then Google stuff like "ArcGIS 10.1 select by location" which would lead you to this:

http://resources.arcgis.com/en/help/main/10.1/index.html#//001700000072000000

And just learn from there.

You might take a look at ModelBuilder as well.

u/the_stanley_duck · 1 pointr/learnpython

I like this book:

https://www.amazon.com/Effective-Python-Specific-Software-Development/dp/0134034287

I'd rank myself as an intermediate Python programmer, and it's pretty handy for me. But I can see it being great for beginners as well, as it introduces a few advanced topics without delving too much into them. It mostly provides specific, functional usages of Python in real-world development.

u/raydlor · 3 pointsr/Python

The Python Standard Library by Example by Doug Hellmann is a great way to get you more comfortable using the various modules in the standard library. I believe the book was inspired by a series of blog posts Hellmann previously wrote each week on Python topics called Python Module of the Week. Both the blog and the book itself present the material in the same way - basically, each chapter or blog post covers a specific module in the standard library with examples of how to use its key features.

u/zombieman101 · 3 pointsr/pythontips

I haven't used this book myself, but I've heard great things about it, this might be a good route to go:
https://www.amazon.com/dp/111890866X/ref=cm_sw_r_cp_apa_i_s1fuDbQHETK0Z

u/ThunderMountain · 1 pointr/gis

Thanks! I have a student license, I've been working my way throught the GIS Tutorial Series and will be getting Python Scripting for ArcGIS. Do you have any recommendations for any other books in perticular? Personal projects sound like a great option too.

u/memilanuk · 2 pointsr/learnprogramming

You might be interested in this: Python Projects. The intent is to serve as a bridge of sorts between the vast array of tutorials and the more advanced CS-type books; something specifically for the people who have completed an intro course and are asking 'now what?'.

FWIW: Just downloaded my copy tonight; haven't had time to do much more than skim the TOC. I have watched Alan help many newbies (including myself) over the years on the python-tutor mailing list so I'm pretty hopeful regarding the quality of this book.

u/c3534l · 2 pointsr/learnpython

I get quite a lot from books, reading them, working through problems when I need to. But if I could go back in time and tell myself which books I should read, I'd go with (in order):

u/fernly · 23 pointsr/learnpython

Not personally familiar with it, but a quick Amazon search shows that the same authors have written essentially the same book for different languages: Data Structures and Algorithms in Java, ...in C++, ...in Python. However it is confusing to do this search as there are several other books that use the same words, "Data Structures and Algorithms" but they are by other authors.

Using the "Look Inside" feature I note that in the intro, they say the Python version is improved over the others in several ways. Scrolling to the beginning of chapter 1 they say the book is based on "Python 3.1 and later". It is good that in 2013 they committed to Python 3, but it is now 6 years and 6 dot-versions behind the state of the art, including the async features and several others. It would be good if they'd rewrite it to use 3.8 and all its features.

Scrolling on I am not impressed with their pedagogy. They dump a lot on the student in the first few topics, bouncing between the assignment statement to class methods and mutability. So many concepts so fast, with no code to make them real or show their application. The student is going to be memorizing a whole list of terms and definitions without ever applying any of them. Jeez, they even introduce the frozenSet class before the dict, and still without a single executable example. Expressions and operator precedence, you meet every operator and reserved word in the language in what is called a "Python Primer" section. Lots of luck remembering all that, student, when you need it.

And on and on: you basically have to learn the entire language, functions, argument passing, the entire list of builtins, I/O operations, try/except/raise, comprehension syntax! -- and you have not written one line of code yet.

Based on this admittedly cursory review, I would not recommend this for either a class or for self-study. Since you've had a fair amount of experience, try Python 201 which gets into the use of the standard lib modules. Or Doug Hellman's Python 3 Standard Library by Example.

u/mapImbibery · 2 pointsr/geography

tl;dl - GIS is here to stay, learn computer skills, and consider where you want to apply your skills.

I just graduated with a BA in Geography and I kinda feel bad for those few students that dodged any GIS classes. It seems to be where geography is going, if not already there, so make sure you at least take the intro course. If GIS is what you decide to focus on, it is an ever-and-rapidly-evolving thing so computer languages are more frequently required by employers (check out r/gisjobs). My department focused on python and my prof was super stoked about this book.
I have one regret, and that's not minoring or double majoring in biology. I took a biogeography course (distributions, island biogeography, etc) and a pyrogeography &amp; fire science course. Biology would have really given me nice credentials to apply GIS to specific things a "geographer" or "GIS analyst" might not have the credentials for.
Have fun and embrace your inner geonerd!
(editted: manbearcat might like the python book I mentioned.)

u/alexsparty243 · 3 pointsr/learnprogramming

And it's awesome and accessible because its free! Check it out here. There's also a physical book you can buy here.

u/tjwarren · 8 pointsr/Python

I'm more of a self-study kind of guy, so here are some places where you can learn on your own.

The official Python docs tend to be well-written and easy to understand. I recommend starting with the Brief Tour of the Standard Library section of the Tutorial.

Dive Into Python is also a good place to start. The book is available for purchase, but the author makes it freely available at his website.

u/LordMaejikan · 2 pointsr/dataisbeautiful

Even if you're just starting out in school, I recommend you take at least a couple programming course. There's a tremendous amount of work that can be done in biology/bioinfomatics.

If you want a good guide for getting started with analysis, I highly recommend the book Practical Computing for Biologists by Steven Haddock. I'd wait and try and find a cheaper copy though. I remember getting mine for about $35 or so last fall. It uses python as it's language of choice, which is fantastically quick to pick up.

u/jeromymanuel · 1 pointr/learnpython

You're just like me (and most people) no one wants to sit through hours and hours of stuff. I found this book and it really helped me a lot.

A Smarter Way to Learn Python: Learn it faster. Remember it longer.

OFFICIAL DESCRIPTION

&gt; LEARNING PYTHON IS FRUSTRATING BECAUSE OF TWO PROBLEMS.
&gt; I REMOVE THE PROBLEMS, AND YOU START HAVING FUN.
&gt;
&gt; The first problem is retention. You remember only ten or twenty percent of what you read. That spells failure. To become fluent in a computer language, you have to retain pretty much everything.
&gt;
&gt; How can you retain everything? Only by constantly being asked to play everything back. That's why people use flashcards. But my system does flashcards one better. After reading a short chapter, you go to my website and complete twenty interactive exercises. Algorithms check your work to make sure you know what you think you know. When you stumble, you do the exercise again. You keep trying until you know the chapter cold. The exercises are free.
&gt;
&gt; The second problem is comprehension. Many learners hit a wall when they try to understand advanced concepts like variable scope and prototypes. Unfortunately, they blame themselves. That's why the Dummies books sell so well. But the fault lies with the authors, coding virtuosos who lack teaching talent. I'm the opposite of the typical software book author. I'll never code fast enough to land a job at Google. But I can teach.
&gt;
&gt; Anyway, most comprehension problems are just retention problems in disguise. If you get lost trying to understand variable scope, it's because you don't remember how functions work. Thanks to the interactive exercises on my website, you'll always understand and remember everything necessary to confidently tackle the next concept.

Here is the index of exercises from the book. You will read a chapter (up to 10-min at max) on 'print' and then perform the exercise. Then read a chapter on 'Variables for Strings' and do the exercise, rinse and repeat. Hope this helps.

  1. print
  2. Variables for Strings
  3. Variables for Numbers
  4. Math expressions: Familiar operators
  5. Variable Names Legal and Illegal
  6. Math expressions: Unfamiliar operators
  7. Math expressions: Eliminating ambiguity
  8. Concatenating text strings
  9. if statements
  10. Comparison operators
  11. else and elif statements
  12. Testing sets of conditions
  13. if statements nested
  14. Comments
  15. Lists
  16. Lists: Adding and changing elements
  17. Lists: Taking slices out of them
  18. Lists: Deleting and removing elements
  19. Lists: popping elements
  20. Tuples
  21. for loops
  22. for loops nested
  23. Getting information from the user and converting strings and numbers
  24. Changing case
  25. Dictionaries: What they are
  26. Dictionaries: How to code one
  27. Dictionaries: How to pick information out of them
  28. Dictionaries: The versatility of keys and values
  29. Dictionaries: Adding items
  30. Dictionaries: Removing and changing items
  31. Dictionaries: Looping through values
  32. Dictionaries: Looping through keys
  33. Dictionaries: Looping through key-value pairs
  34. Creating a list of dictionaries
  35. How to pick information out of a list of dictionaries
  36. How to append a new dictionary to a list of dictionaries
  37. Creating a dictionary that contains lists
  38. How to get information out of a list within a dictionary
  39. Creating a dictionary that contains a dictionary
  40. How to get information out of a dictionary within another dictionary
  41. Functions
  42. Functions: Passing them information
  43. Functions: Passing information to them a different way
  44. Functions: Assigning a default value to a parameter
  45. Functions: Mixing positional and keyword arguments
  46. Functions: Dealing with an unknown number of arguments
  47. Functions: Passing information back from them
  48. Using functions as variables (which is what they really are)
  49. Functions: Local vs. global variables
  50. Functions within functions
  51. While loops
  52. While loops: Setting a flag
  53. Classes
  54. Classes: Starting to build the structure
  55. Classes: A bit of housekeeping
  56. Classes: Creating an instance
  57. Classes: A little more complexity
  58. Classes: Getting info out of instances
  59. Classes: Building functions into them
  60. Classes: Coding a method
  61. Classes: Changing an attribute's value
  62. Data files
  63. Data files: Storing data
  64. Data files: Retrieving data
  65. Data files: Appending data
  66. Modules
  67. CSV files
  68. CSV files: Reading them
  69. CSV files: Picking information out of them
  70. CSV files: Loading information into them. Part 1
  71. CSV files: Loading information into them. Part 2
  72. CSV files: Loading information into them. Part 3
  73. CSV files: Appending rows to them
  74. How to save a Python list or dictionary in a file: JSON
  75. How to retrieve a Python list or dictionary from a JSON file
  76. Planning for things to go wrong
  77. A more practical example of exception handling
u/jelloeater85 · 3 pointsr/Python

Core Python Applications Programming is a great book. Touches on a TON of different technologies and the examples are very easy to follow.

u/visene · 3 pointsr/learnpython

Effective python is an awesome book if you already know programming or if you already know python.

https://www.amazon.com/Effective-Python-Specific-Software-Development/dp/0134034287/

u/trytodothis · 2 pointsr/gis

I think the answer to your question is "yes" (I think--question has awkward wording), to a certain degree. Page 39 of the book Python Scripting for ArcGIS explains Python vs ModelBuilder well enough. I'll try to summarize:

  • Some lower-level geoprocessing tasks are only possible in scripts (i.e. using cursors to manipulate rows in an attribute table).

  • Scripting allows for advanced programming logic such as error handling and more advanced data structures

  • A script can run outside of ArcGIS; a ModelBuilder "script" cannot.

  • Scripts can be scheduled to run, Models to my knowledge, can't.

  • ModelBuilder "models" cannot be intergrated with other software.

    In general, a script allows you more flexibility in both where/how/in what situation you need to use it. Creating a model in ModelBuilder and then converting it into a (python) script can give you the framework/basic idea of how a process may need to be automated.
u/ReeseTheRelease · 2 pointsr/learnprogramming

I'm going through my first college level programming class focusing on Python. The book outlines projects at the end of each chapter that we do our labs over.

Link to book if you've like to see it - Starting Out With Python - 3rd Edition

I'm sure you can find a PDF version online in an older edition.

Hope this helps!

u/mzieg · 3 pointsr/cscareerquestions

How much Linux experience do you have?

What Python books have you read? I got some value out of Quick Python.

&gt; Please review...memoization, OSI model, routers, switches

That's a little ambitious for 10 days prep with 6mo experience.

u/lanemik · 2 pointsr/learnpython

I'd search for an algorithms book that uses Python. This one, perhaps: Python Algorithms: Mastering Basic Algorithms in the Python Language https://www.amazon.com/dp/148420056X/ref=cm_sw_r_cp_api_8HnczbRMZXS0Q

Maybe also a data structures specific text? This one has algorithms and data structures: Problem Solving with Algorithms and Data Structures Using Python SECOND EDITION https://www.amazon.com/dp/1590282574/ref=cm_sw_r_cp_api_EJnczbP3AAHYW

Maybe this book will give you a sense of the differences in Python and C++: Data Structures and Algorithms Using Python and C++ https://www.amazon.com/dp/1590282337/ref=cm_sw_r_cp_api_JKnczbWWF9XMS

There is a ton of fundamental knowledge about computing that you just can't get via Python, that Python abstracts away, and/or is very important to understand to write useful code. You'd want to study theory of computation, computing systems, operating systems, programming languages, etc.

But a basic understanding of how to devise, implement, and analyze algorithms is generally a good place to begin your education.

u/uptimefordays · 3 pointsr/sysadmin

In no particular order:

u/stbernardy · 1 pointr/ITCareerQuestions

Security is interesting, I would start watching DefCon videos on youtube... A good book for self-study on programming (Python) is Python The Hard Way.. I taught myself with that book.

https://smile.amazon.com/Learn-Python-Hard-Way-Introduction/dp/0321884914/ref=sr_1_1?ie=UTF8&amp;amp;qid=1483465847&amp;amp;sr=8-1&amp;amp;keywords=python+the+hard+way

u/arguablydickish · 3 pointsr/gis

I'm unsure if posting a link is appropriate on this sub but I have found the linked book, "Python Scripting for ArcGIS," to be a really great source for beginners (such as myself).
https://www.amazon.com/gp/aw/d/1589483715/ref=mp_s_a_1_1?ie=UTF8&amp;amp;qid=1520648132&amp;amp;sr=8-1&amp;amp;pi=AC_SX236_SY340_FMwebp_QL65&amp;amp;keywords=python+scripting+for+arcgis&amp;amp;dpPl=1&amp;amp;dpID=41Ghg1tE14L&amp;amp;ref=plSrch

u/cismalescumlord · 1 pointr/learnpython

It goes very deep onto the programming language, but it's not really aimed at problem solving.

Into to cs using python is a very expensive book so you may be interested in Amazon UK's offers depending on your currency and delivery rates.

The learning python book would, I think, make a good companion to it.

u/AtomicWedgy · 2 pointsr/learnpython

If you're looking for an intro to programming in Python I would suggest Introduction to Computation and Programming Using Python For a general language reference Python Essential Refernce For an introduciton to the included modules The Python Standard Library by example which includes a lot of simple code examples. The book Core Python Application Programming is a great subset of the above books with less over all coverage but greater detail in the example code. And last but not least, for advanced algorithm info Annotated Algorithms in Python

u/DoktorRF · 1 pointr/learnpython

Learn Python the Hard Way was written a long time ago. The most recent edition of the book was released about one year ago. Since then, many of the top downloaded packages have been updated to support Python 3: currently 165 of 200 of the top packages support it.

There isn't a strong reason for beginners to start with Python 2, unless they absolutely need a Python 2-only package.

u/souldeux · 1 pointr/django

Yeah, absolutely! Feel free to PM me anytime.

Also, I'd highly recommend picking up a copy of Two Scoops of Django 1.6 if you've got $35 lying around. Even though we're in 1.7 now, the info in that book is pure gold.

u/il_doc · 2 pointsr/django

Two Scoops of Django by /u/pydanny is kind of a bible of django best practices

also, read the code of djangoproject.com and look at their app structure

u/GIS_Trainee · 3 pointsr/gis

Python Scripting for ArcGIS by Paul A. Zandbergen is a text published by ESRI, it is a few years old now and does not make use of Python 3 but its a good start.

u/mcbacon123 · 1 pointr/learnprogramming

Automate the boring stuff with Python

Learn Python 3 the hard way

You said you want to get into Data Science, there’s a pretty good website that teaches about that and also teaches more about Python beyond the beginner stuff called DataCamp

u/bishrant · 10 pointsr/gis

For QGIS I would suggest: https://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/

If you are into arcpy, "Python scripting for arcgis" is a fantastic book to get you up and running:
https://www.amazon.com/Python-Scripting-ArcGIS-Paul-Zandbergen/dp/1589483715

u/Asdayasman · 1 pointr/learnpython

This is pretty dank.

Also, I've found any O'Reilly book is also somewhat dank. Just pick one that seems relevant to something you're interested in, and go nuts. I'm on this at the moment.

u/igncampa · 5 pointsr/django

I have come to learn in my self-teaching journey that once you start looking for "more than the basics", it's time to start working on a project you will go hard at, and as you continue to make progress and come up with new ideas, new questions will arise, more problems and roadblocks will show up and by solving those is how you go beyond the basics.

That has been my approach though, there might be a magical recipe out there. In any case, people will probably recommend Two Scoops of Django. I, however, haven't read the book.

u/EarlyFish · 6 pointsr/gis

I would experiment with the regular geoprocessing tools and ModelBuilder in ArcGIS. ModelBuilder is basically a visual representation of a python code. It's much easier (in my opinion) because you don't have to worry too much about syntax and formatting. It's a fairly easy way to get your feet wet with the geoprocessing abilities of ArcGIS. You can also export a model to python if want to work with python, but aren't sure how to start.

THIS book is what I'm currently using to learn Python.

u/biologyguy · 1 pointr/bioinformatics

Practical Computing for Biologists is a friendly introduction to the basics of using your computer to do things it didn't come pre-programmed to do.
https://www.amazon.com/Practical-Computing-Biologists-Steven-Haddock/dp/0878933913

u/justforlurking123 · 1 pointr/Python

The Quick Python Book is my personal favorite.

http://www.amazon.com/Quick-Python-Book-Second-Edition/dp/193518220X

u/HelpMyBunny1080p · 11 pointsr/learnmath

Buy this book first.

Learn Python the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code (3rd Edition) (Zed Shaw's Hard Way Series) https://www.amazon.com/dp/0321884914/ref=cm_sw_r_cp_apa_i_WgE2Db53ZBZ58

Then set aside 1-3 hours a day to do the lessons, read the book and/or look up additional material on the internet.

The first chapter or the introduction tells you to try and memorize basic powershell commands, its useful but don't spend too much time trying to get them all down.

u/soyPETE · 1 pointr/ComputerEngineering

It depends on what you are wanting to go? You can start with this:


Effective Python: 59 Specific Ways to Write Better Python (Effective Software Development Series) https://www.amazon.com/dp/0134034287/ref=cm_sw_r_cp_api_w-O0AbM4Z2FJR

u/RodionGork · 2 pointsr/learnpython

Well...

http://www.amazon.com/Learn-Python-Hard-Way-Introduction/dp/0321884914

However you'd better get used to work with documentation in electronic form. Besides other thing it allows you fast browsing and searching over the text.

u/driscollis · 1 pointr/learnpython

You could use Doug Hellman's "The Python Standard Library by Example" (https://www.amazon.com/Python-Standard-Library-Example-Developers/dp/0134291050). It has a Python 3 version. I have a book called Python 101 (https://python101.pythonlibrary.org/), although it's not really a reference...you might find it helpful though.

u/sampa420 · 5 pointsr/gis

Highly recommend this book

u/cyberxndr · 2 pointsr/django

This book should help.

u/hugja · 12 pointsr/learnprogramming

I'd say it's time to start working through some projects. Although, believe me I know, it's difficult to get started. Especially if you didn't start programing without any projects in mind. So, I'd suggest a few books and links to help you get started.

u/wired41 · 1 pointr/learnpython

Thanks for the info. It's a 9 week course that ends on November 1 so I am guessing the next course would start that week or the week after. I do want the certificate so I think I will wait. In the mean time, I will check out sentdex's pythonprogramming site.

After the MIT course, I was thinking of moving onto Effective Python, but I am not sure about the jump in difficulty. Would that be a good idea?

u/exceta · 2 pointsr/Python

I can personally recommend Starting Out With Python. I used this for my introductory Computer Science class.

Even though we only did the basics, I learnt Python classes on my own just by reading the book.

u/polypeptide147 · 5 pointsr/Hacking_Tutorials

[Here](Learn Python the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code (3rd Edition) (Zed Shaw's Hard Way Series) https://www.amazon.com/dp/0321884914/ref=cm_sw_r_cp_api_A4dTAbN5P7PEM)

Edit: the name of the book has parentheses in it so the link isn't very pretty.

u/whattodo-whattodo · 1 pointr/learnprogramming

If it has to be a book, my only advice is do the opposite of what I did. I got Learning Python, 5th Edition, which is a huge, dry book. It's great, but it was daunting &amp; more than was even good for me to know about at the time. I would suggest any guide meant for beginners.

I should mention that Learn Python the Hard Way &amp; Automate the Boring Stuff with Python are the standard suggestions. I still suggest a beginner's book, but this is what the community likes.

That being said, I usually insist that people follow this order.

1) CodeAcademy's course on Python

a) It only teaches you things that are essential.

b) It provides you with an editor &amp; a runtime environment. These two steps may become a little confusing later, but it's good to not have to tackle them all at once.

c) It provides training that is still hands on

Note: I specifically suggest doing the course more than once. As many times as needed to feel excruciatingly bored and unchallenged by it.

2) Lynda's Learn Python 3 Standard Library. It is free through the Public Library. It is a series of videos so it is not hands on, but it helps you see what is possible before you're able to write it. Knowing what is possible is a big part of the process. Once you know what is possible, the how is often mostly irrelevant &amp; figured out with Google.

Note: I specifically suggest watching the videos more than once. As many times as needed to feel excruciatingly bored and unchallenged by it.

3) Only here do I usually suggest a book. Any book will do, but once you're swimming in ideas &amp; have been prepped &amp; re-prepped. You should be ready to go.

There is a very good chance that installing Python, picking en editor &amp; running the code will give you a hard time. Python is a pain to set up in Windows the first time you do it. Though, if you're running Linux, it's seamless. Once you get here reach out to me (or /r/learnpython). There are some tricky steps, but once you're up and running, you won't look back.

Good luck. If you have any trouble with any part, shoot me a message.


Edit: I like this guy's setup too. https://www.reddit.com/r/learnpython/comments/6f7ybq/_/dig45b0?context=1000

u/Highflyer108 · 1 pointr/learnpython

Well I found the book for €25 so I decided to go ahead and buy it. And that link is to the first edition btw, a second edition was released this June so I hope if there was any formatting issues with the non-kindle version, they're fixed now.

u/franchyze922 · 2 pointsr/Python

I'm working through this book now. It's very good. Also for tutorials just on Python, not arcgis specific check these out.

*edit - I know those Python tuts are for 3.4 and Arc uses 2.x but they are still quality tutorials and syntax is basically the same.

u/Ichier · 1 pointr/nashville

https://www.amazon.com/Smarter-Way-Learn-Python-Remember/dp/1974431479

NSS uses his stuff as prework and I've read both his Web Dev books, it has about 20 exercise per chapter and is worth checking out.

u/-shrug- · 3 pointsr/gis

Amazon. Perhaps they mean this book

u/slowpush · 8 pointsr/learnpython

You only need two

Python Tricks

https://dbader.org/products/python-tricks-book/

Effective Python

https://www.amazon.com/Effective-Python-Specific-Software-Development/dp/0134034287

&amp;#x200B;

Everyone recommends Fluent Python, but I think it's a little too dense for an intermediate book. You won't appreciate the book until much later.

u/lasthope106 · 1 pointr/learnprogramming

If you already have a solid understanding of C++, then go with the Python Tutorial. hobgoblin mentioned Udacity, but their CS101 uses Python to teach you CS fundamentals. Since teaching you the language is not the focus of the class, you are taught only a very small subset of the language.

A book I'm currently reading is The Quick Python Book, which is aimed at people who already know how to program, but I would rate it in the same league as the Python tutorial.

u/supra621 · 2 pointsr/learnprogramming

Learn Python the Hard Way was recommended to me by one of the tech managers I work with. Note that I haven’t read it yet, but it’s on my list per his recommendation.

Edit: it’s late and I formatted the first link backwards.

u/CreepyStepdad · 2 pointsr/learnpython

related question- I inherited a couple books, I could use some advice.

I'm about 2/3 through Think Python, I am working through the University of Michigan Programming for Everybody course (and the book: Python for Informatics) and the Rice University An Introduction to Interactive Programming in Python Part 2 (both on Coursera)

I inherited Introducing Python, Fluent Python, Python 3 Object Oriented Programming, and Effective Python

Which one should I jump into after I finish Think Python?

u/coolin_ban · 4 pointsr/serbia

Koga zanima Python, ovo je takođe dobro - Effective python. Ako nekome treba, pm.

Takođe, ne bih se složio da je u svemu broj 2. U data science domenu je u vrhu (pored njega R).

u/bitman_ · 3 pointsr/learnpython

I've read this book: https://www.amazon.com/Learn-Python-Hard-Way-Introduction/dp/0321884914

And I have also used: https://www.codecademy.com/ quite a bit and I highly recomend it!

u/ProofByPicture · 1 pointr/learnprogramming

how about one literally called The Quick Python Book?

u/coelhofelipe · 1 pointr/brasil

Não, esse aqui:

https://www.amazon.com.br/Use-cabeça-Python-Paul-Barry/dp/857608743X

Tem uns meses e encontrei por uns 40 reais na Cultura, em Porto Alegre... Infelizmente não conheço nenhum dos dois, mas quanto ao primeiro, geralmente os materiais da O’rilley de TI costumam ser bons.

Outro que utilizei e recomendo MUITO é esse:

https://www.amazon.com.br/Learn-Python-Hard-Way-Introduction/dp/0134692888

u/phryna · 2 pointsr/bioinformatics

I keep a copy of Practical Computing for Biologists in my lab as a reference for students startiong out working with genomic data.

u/ryosen · 1 pointr/learnprogramming

I would also recommend The Quick Python Book if you already have some programming experience.

As for advice about getting frustrated? Just keep plugging away at it. It'll be worth it.

u/albinofoxyo · 1 pointr/gis

I found the combination of www.codeacademy.com and Learn Python the Hard Way really helped me to understand the fundamentals of Python.

Then this book by Paul Zandbergen Python Scripting For ArcGis opened the doors to Python scripting with ArcGIS and how the two tie together in a GIS environment.

u/CuriousHand2 · 4 pointsr/computerscience

Learn Python the Hard Way

and

The Definitive Guide to SQLite

The first one will teach you python, the second one will teach you SQL using one of the simpler engines to manage. Once you've got that down, MySQL, Oracle and Postgres are similar to a point.

u/lurkotato · 1 pointr/cpp

I suspect that page will change soon, because Learn Python 3 the Hard Way was recently published (july 7 2017).

u/xbrightcursivex · 3 pointsr/gis

I'm in my last class finishing up my certificate through Penn State. One thing I can tell you is put all your class projects into an online portfolio. I didn't do that so I will have to go back track and put them all up.

I have no background in GIS and started the program out of genuine interest. The program was well worth the money but since I have no prior experience it was kind of a GIS intro/immersion program. Basically I wouldn't apply to GIS jobs based on my certificate alone. Because of this I plan on studying on my own using ESRI's books to reinforce what I learned through Penn State . Again, I plan on posting the associated projects from these books into an online portfolio.

Current books I will be going through:

http://www.amazon.com/gp/aw/d/1589482824/ref=mp_s_a_1_1?qid=1405071816&amp;amp;sr=8-1&amp;amp;pi=SY200_QL40

http://www.amazon.com/gp/aw/d/1589483359/ref=mp_s_a_1_1?qid=1405071858&amp;amp;sr=8-1&amp;amp;pi=SY200_QL40

http://www.amazon.com/gp/aw/d/158948214X/ref=mp_s_a_1_1?qid=1405071905&amp;amp;sr=8-1&amp;amp;pi=SY200_QL40