Best python programming books according to redditors

We found 218 Reddit comments discussing the best python programming books. We ranked the 59 resulting products by number of redditors who mentioned them. Here are the top 20.

Next page

Top Reddit comments about Python Programming:

u/samort7 · 257 pointsr/learnprogramming

Here's my list of the classics:

General Computing

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/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/IAmYourDad_ · 14 pointsr/Python

Link to Amazon?

EDIT: Never mind, found it

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/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/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/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/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/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/daredevil82 · 8 pointsr/Python
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/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/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/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/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/rzzzwilson · 6 pointsr/learnpython

The Python Module of the Week site gives a huge list of examples of using the many modules in the standard library. I sometimes find the official python doc a little too official and use PYMOTW as a quick introduction.

Edit: there's also a PYMOTW book, if that's your thing. Warning: skip the e-book format of the book as it has major formatting problems.

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/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/sampa420 · 5 pointsr/gis

Highly recommend this 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/jeromymanuel · 5 pointsr/learnpython

Like others have mentioned, you're just supposed to understand it - not remember it.

I found this book to be really helpful - broken down in to 10-minute chapters. Read, do the exercise, rinse and repeat.

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

u/professorcraven · 5 pointsr/Python
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/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/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/uptimefordays · 3 pointsr/sysadmin

In no particular order:

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/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/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/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/-shrug- · 3 pointsr/gis

Amazon. Perhaps they mean this book

u/YouAreSalty · 3 pointsr/django
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/memilanuk · 3 pointsr/learnpython

Check out Python Projects by Cassell &amp; Gauld. It's designed for people ready to move beyond the basics, but still maybe not quite ready to strike out on their own just yet.

From the page:

&gt; ...resource for the Python programmer with basic skills &gt; who is ready to move beyond tutorials and start
&gt; building projects.

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/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/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/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/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

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/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/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/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/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/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/cyberxndr · 2 pointsr/django

This book should help.

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/PythonDev2018 · 2 pointsr/learnpython

If you really learned java and php programming the way you mentioned, then it should mean that you have a lot of understanding of programming fundamentals ! Having a good grasp to fundamentals actually should make things easier for you to learn additional languages!
So unless you really just want to, you quite don't have to repeat that same process to pick up additional languages relatively quick!

For instance it only took me one week to learn JavaScript / NodeJs and get comfortable in it and use it in a project! and even later on for php, was just a couple of days actually.

The best way to do it is to rebuild from scratch with the new language ( in your case, Python) one of your previous completed projects with your main programming language. ( yours being java)

With that being said, if you still think that you absolutely prefer a book instead, here is the one that I would recommend for you.

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/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/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/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/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/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/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/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/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/seamanroses · 2 pointsr/dataanalysis

I could only find a direct download link for one of the books I would recommend (the first one), but I'll mention all of them:

u/il_doc · 2 pointsr/ItalyInformatica

personalmente mi sentirei di consigliare "core python programming" di wesley chun, io ho la seconda edizione, l'ho trovato molto ben strutturato.

poi c'è il mai-abbastanza-linkato https://learnpythonthehardway.org/python3/ (un tempo era gratis, magari online si trova ancora da qualche parte)

per fare qualche esercizio puoi buttarti su projecteuler.net

come ide uso vs code, che visto che è praticamente solo un editor di testo (plugin a parte) mi vien bene per qualsiasi cosa, senza andare su roba troppo specifica come pycharm

come step successivo, o perchè no, anche parallelo, magari potresti cominciare a dare un'occhiata a react o angular, da usare per esempio come frontend di flask o django...

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/[deleted] · 1 pointr/Codecademy

http://www.amazon.com/Python-Standard-Library-Example-Developers/dp/0321767349

Basically the standard library in any language is a bunch of APIs that allow you to do stuff that you would have had to figure out how to code yourself. It's why things like github are so popular because you can go look at how someone else coded something and try to improve upon their API and sometimes these open source APIs turn out better than what is built into a language's standard library.

You said they know how to email, teach them about the email libs and show them how to build a program that will email something for them.

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/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/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/TomorrowsGone85 · 1 pointr/gis
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/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/jemlibrarian · 1 pointr/Random_Acts_Of_Amazon

Something totally utilitarian: Learning Python the Hard Way

Oh hell, who am I kidding. I only do utilitarian

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/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/DaveVoyles · 1 pointr/stocks

I had a longer response, but Reddit wiped it. Doh! The TLDR was:


  1. Make a GitHub profile and post all of your work there. Make detailed READMEs to show that you really know what you are doing. This one has paid dividends for me: https://github.com/DaveVoyles/Logistic-Regression-Azure-Workbench


  2. Take tons of courses online. Pay for the certs that you really want to show off, otherwise just watch the videos and do the content, and you'll learn a lot that way. I posted about some I really enjoyed here: http://www.davevoyles.com/2018/02/11/getting-started-data-science-machine-learning-python/
    In particular, I find that PluralSight is a fantastic site for learning.


    Python is a great starting point. Simple language, and once you learn that, it makes it very easy to learn others. In terms of the advanced topics around python, look at those courses in my blog post. I really think they'll help you understand. Keep in mind that I listen to most of those courses TWICE! I find that listening once, I get the gist. The second time I really comprehend what they went through.


    It sounds like you're getting a solid grasp of programming as a whole. In that case, I'd recommend Learn Python the hard way. https://www.amazon.com/Learn-Python-Hard-Way-Introduction-ebook/dp/B00FGUS948


    You don't need to learn EVERY PIECE OF THE LANGUAGE, but getting a handle of the basics will go a long way.
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/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/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/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/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/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/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/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/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/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/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/ProofByPicture · 1 pointr/learnprogramming

how about one literally called The Quick Python Book?

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/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/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/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/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/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/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/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/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/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/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/tylercoder · -7 pointsr/learnprogramming