(Part 2) Top products from r/Python

Jump to the top 20

We found 46 product mentions on r/Python. We ranked the 281 resulting products by number of redditors who mentioned them. Here are the products ranked 21-40. You can also go back to the previous section.

Next page

Top comments that mention products on r/Python:

u/hell_onn_wheel · 13 pointsr/Python

Good on you for looking to grow yourself as a professional! The best folks I've worked with are still working on professional development, even 10-20 years in to their profession.

Programming languages can be thought of as tools. Python, say, is a screwdriver. You can learn everything there is about screwdrivers, but this only gets you so far.

To build something you need a good blueprint. For this you can study objected oriented design (OOD) and programming (OOP). Once you have the basics, take a look at design patterns like the Gang of Four. This book is a good resource to learn about much of the above

What parts do you specify for your blueprint? How do they go together? Study up on abstract data types (ADTs) and algorithms that manipulate those data types. This is the definitive book on algorithms, it does take some work to get through it, but it is worth the work. (Side note, this is the book Google expects you to master before interviewing)

How do you run your code? You may want to study general operating system concepts if you want to know how your code interacts with the system on which it is running. Want to go even deeper with code performance? Take a look at computer architecture Another topic that should be covered is computer networking, as many applications these days don't work without a network.

What are some good practices to follow while writing your code? Two books that are widely recommended are Code Complete and Pragmatic Programmer. Though they cover a very wide range (everything from organizational hacks to unit testing to user design) of topics, it wouldn't hurt to check out Code Complete at the least, as it gives great tips on organizing functions and classes, modules and programs.

All these techniques and technologies are just bits and pieces you put together with your programming language. You'll likely need to learn about other tools, other languages, debuggers and linters and optimizers, the list is endless. What helps light the path ahead is finding a mentor, someone that is well steeped in the craft, and is willing to show you how they work. This is best done in person, watching someone design and code. Also spend some time reading the code of others (GitHub is a great place for this) and interacting with them on public mailing lists and IRC channels. I hang out on Hacker News to hear about the latest tools and technologies (many posts to /r/programming come from Hacker News). See if there are any local programming clubs or talks that you can join, it'd be a great forum to find yourself a mentor.

Lots of stuff here, happy to answer questions, but hope it's enough to get you started. Oh, yeah, the books, they're expensive but hopefully you can get your boss to buy them for you. It's in his/her best interest, as well as yours!

u/enteleform · 1 pointr/Python

Part of thinking logically is knowing what tools are available to you, so I'd recommend reading some books to gain an overhead view (data structures, standard libraries, design patterns, etc) of Python.  I put together a list that I'm working through @ this Gist.  Based on your question, I'd recommend reading Fluent Python to start, and then check out Problem Solving with Algorithms and Data Structures (along with any others that interest you).
 
In addition to 3burk's math-based suggestions, Project Euler is another good option.
 
Some interactive coding-challenge options:

  • CoderByte
    This is the more beginner-friendly of the two. The questions are well-balanced for all skill levels, and they have well-explained official solutions.
  • LeetCode
    This one is a bit more advanced, but definitely worth checking out once you're ready since the solutions are ranked by efficiency (in milliseconds & Big-O complexity) instead of arbitrary points.  You can learn a lot by figuring out your own solution, and then checking out more efficient solutions to learn what you could have done better. There's also a forum where you can discuss how/why certain methods are more efficient.

     
    Also, check out this post I wrote in response to a similar question for a bunch more coding resources (challenges, books, projects, etc).
u/twopi · 2 pointsr/Python

You can add a clicked method to the class definition of Item, and every instance of the item will then have the method.

Probably, though, you'll want two methods. One that simply determines whether the item has been clicked, and another that does something when the item is clicked.

Probably all items will do SOMETHING if they are clicked, but what they do will be based on the item.

The SuperSprite object in my game engine already has this behavior, so you can use that if you want.

I created the library as part of my book on Python game development:
http://www.aharrisbooks.net/pythonGame/

(look at game engine at the bottom of the page.)
You're welcome to the game engine and everything else on that site whether you get the book or not, but if you're interested, the book is here:
http://www.amazon.com/Game-Programming-Line-Express-Learning/dp/0470068221/ref=sr_1_1?ie=UTF8&qid=1312228492&sr=8-1

Though it never sold very well, it does have outstanding Amazon reviews, so it might be helpful.

Back to your example:
Be sure you're thinking properly about the relationship between instances and classes. Chevy S10 is a class. It describes a whole bunch of trucks. All have various features in common, but the specifics change. All have a start() method, and all have an engine attribute.

However, there's a difference between all trucks and a particular truck. My truck is a specific instance of S10. It has a particular color (black) and a few other characteristics specific to that particular truck. Many of its characteristics come from it being an S10, but I don't drive all S10s, just that one.

There is a mechanism called "static methods" which allows you to assign a method to a class which can be run even if there is no instance of that class available (This is used all the time in Java programming, for example.) I don't think that's what you're trying to do, though.

I would start with some sort of Sprite object. The one that comes with Pygame is pretty weak, so I always add enhancements to it (thus the SuperSprite.)

I would then probably make (at least) two subclasses of supersprite objects - a Player class and an item class.

If you're using my supersprite, there is already a clicked() method that returns True if the item is currently being clicked. Any subclass of supersprite can also read a click.

Your player class will probably need some sort of function to add an item to the inventory. Python makes this much easier than many languages, as the built-in list type is far more flexible than a standard array. It's quite easy to add an item to the list with the append() method.

Write to me directly if you want a bit more help.

-Andy

u/novel_yet_trivial · 6 pointsr/Python

If there was a "best" then everyone would use it and there would only be one.

There is only "best for" ... which means you need to tell us what you want from a GUI library before we can tell you what's best for you.

in a nutshell:

  • Tkinter: best for super fast development and if you don't want to require your windows users to install extra libraries
  • pyGTK / PyGObject: best for native looking programs in GTK based Linux distros. Uses Glade.
  • PyQT/ PySide: best for highly custom very pretty interfaces and automatic event linking. Looks native on any OS. You can use QTDesigner to create GUIs.
  • wxPython: Alternative to tkinter for fast and easy interfaces. Has a GTK-like Glade. (Now for python3!)
  • Kivy: best for multi-touch and small screens - tablets and phones.
  • Remi: best for programs that can be accessed via a browser locally or remotely
  • Bokah: best for interactive data display in a browser.

    > i don't mind starting with something difficult, as long as it would be worth the time a i won't have to go looking for something else some time after

    From that I'd recommend PyQT / PySide. I really liked Mark Summerfield's [Rapid GUI Programming with Python and Qt](
    https://www.amazon.com/Rapid-GUI-Programming-Python-Definitive/dp/0134393333/). It's pretty outdated at this point, but it still will give you a solid foundation.
u/Wolf_Larsen · 1 pointr/Python

I like books, especially in the early learning stages. Here are some benefits to reading a book :

u/carillon · 1 pointr/Python

Working Effectively With Legacy Code is probably the best book currently on how to add tests to an existing system.

Specifically it outlines a number of strategies for getting badly-written code under test so you can begin refactoring with confidence.

If you took an untested (or poorly tested) Django app from GitHub or BitBucket and added some tests that would be a really effective example.

u/O5marD · 19 pointsr/Python

C++ is my favourite language. I have four books for you. 1) Exploring C++11 by Ray Lischner http://www.amazon.com/Exploring-Experts-Voice-Ray-Lischner/dp/1430261935. C++ is extremely complicated and this book will help you get up to speed programming with C++ and also understand it. 2) Programming Principle and Practice: using C++. http://www.stroustrup.com/Programming/. Even though this book is for beginners even seasoned programmers from other languages will gain huge insight for using/programming with C++ from the C++ creator himself. 3) The C++ Programming Language 4th Ed. Everything (99%) you need to know about the language is there. You can use it as a tutorial or reference. 4) Effective Modern C++ by Scott Meyer. As I said above C++ is complicated and quirky and the info in this book will help you understanding some of the language's 'subtleties'. Other links: The home of Standard C++ on the web http://isocpp.org/ . Nice onlice reference http://en.cppreference.com/w/cpp. Bjarne Stroustrup's homepage: http://www.stroustrup.com/. Of course there more books I'd recommend and more links but these I hope will get you started. Get Exploring C++11 first!!

u/rico_suave · 2 pointsr/Python

There might be some code examples or open sourced software online that sort of does what you want. However, I think this is really where your own creativity and imagination comes into play.
Part of the fun in programming for me is exactly to find an elegant or new and simple solution for a real world problem.
P.s. this is a nice book to get you started programming an application using python.

u/obiwan90 · 2 pointsr/Python

Formatted for a little better readability:

> C++ is my favourite language. I have four books for you.

> 1. Exploring C++11 by Ray Lischner. C++ is extremely complicated and this book will help you get up to speed programming with C++ and also understand it.
> 2. Programming – Principles and Practice Using C++ by Bjarne Stroustrup. Even though this book is for beginners even seasoned programmers from other languages will gain huge insight for using/programming with C++ from the C++ creator himself.
> 3. The C++ Programming Language (4th Ed.) by Bjarne Stroustrup. Everything (99%) you need to know about the language is there. You can use it as a tutorial or reference.
> 4. Effective Modern C++ by Scott Meyers. As I said above C++ is complicated and quirky and the info in this book will help you understanding some of the language's 'subtleties'.

> Other links:

> The home of Standard C++ on the web
>
Nice online reference
> * Bjarne Stroustrup's homepage

> Of course there are more books I'd recommend and more links but these I hope will get you started. Get "Exploring C++11" first!

Edit: well, somebody deleted their comment. That makes mine look a little less funny. Removed the offending bits...

u/drodspectacular · 1 pointr/Python

Depends on what you want to get out of it and how much work you want to put in, as well as what your learning style is. I prefer to read a chapter, start working on exercises, and then go back and reread the chapter. Two books came to mind:

http://www.amazon.com/Python-Programming-Introduction-Computer-Science/dp/1590282418

http://it-ebooks.info/book/2467/


The first is a much softer introduction if you don't have prior experience with programming, the second is if you want to get into the guts and details of how what you write executes and how the inherent properties of different things interact with each other. I'd recommend the first and then the second as a follow up. There's some redundancy but reinforcement of the same concepts from different perspectives makes you well rounded. Monty's suggestion is good too. What's the binary method for Monty? Can I operator overload? Lol

u/linked0 · 1 pointr/Python

A really nice and useful site!
And I think you should add Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems for Machine Learning as soon as possible.

u/choppyisdead · 1 pointr/Python

I thought he updated his site. The linked the link I posted in his Twitter feed.

For me, I used MIT's 6.01 and the book Professor Freeman recommends, Think Python (get it free here or from Amazon here).

u/Whoopska · 9 pointsr/Python

I think Working Effectively with Legacy Code is the classical book on the subject. My personal recommendation is to write a test for every piece of code you read. It doesn't have to be a perfect test, but giving yourself something that will keep your understanding tied to the code and which you can pdb through if you lose understanding will be really helpful. At a certain point, you have to say screw the side-effects and construct a large numpy array and pass that in, create some files in weird places, or inline some text to make it work. Take the time to do things the right way and they'll go faster.

u/meegee · 1 pointr/Python

Check out Foundations of Python Network Programming

> This book will be of interest to python programmers who need to program networked applications using Python. From web application developers, to systems integrators, to system administrators—this book has everything you need to know.

>This book assumes that you know how to program in Python, but does not assume that you know anything about networking. If you have used something like a web browser before, and are vaguely aware that your computer talks to other computers in order to display web pages, then you should be ready to start reading this book.

u/bcorfman · 3 pointsr/Python

That's an OK book, as you can see from the reviews, mostly because he never develops a real game. You might find this page for Game Programming: The L Line to be helpful too -- it has a series of PowerPoint slides that give a Pygame tutorial as well.

u/SethGecko11 · 1 pointr/Python

There is That book coming out in 10 days by Jake VanderPlas. I haven't read it yet (obviously) but his youtube lectures are great.

u/Yoghurt42 · 3 pointsr/Python

A quick google for "low level python network programming book" found this:

https://www.amazon.com/Foundations-Python-Network-Programming-comprehensive/dp/1430230037

I haven't read it, but at least one of the author (Brandon Rhodes) is known for giving good talks about Python. So i'd suggest you go with that.

u/chuwiki · 33 pointsr/Python

I'd recommend this book. It's really nice for beginners :D

u/jcl · 2 pointsr/Python

how about something like Head First Programming -- "A learner's guide to programming, using the Python language".
This is a great series but I've only skimmed this one.
Here's an amazon link: http://www.amazon.com/Head-First-Programming-Learners-Language/dp/0596802374

u/[deleted] · 1 pointr/Python

Thead Head First series has a "learning how to program" general book that uses Python for all the code. I'd agree that's it's a better idea to start with Python 2 than with 3.

edit: link for the book. Also, for something a bit more serious and quite complete check out "Core Python Programming" by Wesley Chun.

u/bryanv_ · 3 pointsr/Python

FWIW, although Bokeh is itself not an implementation of the Grammar of Graphics, many of the original Bokeh authors, including and especially myself, were avid fans of Wilkinson's approach. I would say those ideas (and their structure and consistency) greatly informs the structure of Bokeh.

u/eco32I · 0 pointsr/Python

ggplot is an implementation of the ideas from "Grammar of Graphics". It is so much more than just pretty looks.

u/Julius_Henry_Marx · 1 pointr/Python

> I can never see the attributes of the Qt objects I'm actually interested in

I don't know what you mean by that. I don't use the designer, to me it was more trouble than it was worth. I just google (alot) and reference this all the time: https://www.amazon.com/Rapid-GUI-Programming-Python-Definitive/dp/0134393333

u/ruby_king · 1 pointr/Python

I just got Foundations of Python Network Programming and so far it's been pretty good. 

u/hell_0n_wheel · 1 pointr/Python

All I could recommend you are the texts I picked up in college. I haven't looked for any other resources. That being said:

http://www.amazon.com/Computer-Organization-Design-Fifth-Architecture/dp/0124077269

This text is really only useful after learning some discrete math, but is THE book to learn algorithms:

http://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844

This one wasn't given to me in college, but at my first job. Really opened my eyes to OOD & software architecture:

http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612

u/anteater_sa · 1 pointr/Python

I recommend "Learning Python"
to learn the basics of Python.

Then look into one of the plethora of Python web frameworks available. I personally prefer Django and Web.py

u/nick_t1000 · 1 pointr/Python

If you give me a bunch of numbers in sequence out of the Random book, using mine, I'll be able to predict the next number at some point. Are you claiming that the numbers in the book are not random with respect to one another?

I think you need to "scope" (contrived term) the randomness, such that within the fixed 2^19937 - 1 MT sequence, the numbers are not measurably correlated with one another. For cryptography you need a world-scope, so you need to generate novel sequences.

u/yawpitch · 3 pointsr/Python

You can still buy random on Amazon.

Edit: in fact, you can also get it free from the horse's mouth.

u/asb · 1 pointr/Python

Learning Python with Raspberry Pi by myself and Ben Everard came about about a month and a half ago.

u/kmbd · 1 pointr/Python

Here are some:

u/jakevdp · 13 pointsr/Python

You can buy direct from the publisher: http://shop.oreilly.com/product/0636920034919.do

But it's a bit cheaper on Amazon

u/digital19 · 2 pointsr/Python

You might look at Game Programming, the L Line, The Express line to Learning

You can get it used fairly cheap. You wouldn't know from the title, but it only uses Python. It has 'Practice Exams' at the end of each chapter, usually with 2 questions that ask you to augment programs in the book.

u/rjtavares · 16 pointsr/Python

> What is/are the benefits of ggplot compared to to matplotlib/pylab?

From my understanding, ggplot2 is an R package that aims to create graphics that follow the design principles from a book called "grammar of graphics". Also, they're pretty as hell with basically no effort required. This is an attempt to mimic that package in native Python.

Matplotlib is more powerful, and more customizable, but the default settings are ugly and sometimes almost illegible.