Calgarypuck Forums - The Unofficial Calgary Flames Fan Community
Old 01-17-2020, 01:54 PM   #1
Slava
Franchise Player
 
Join Date: Dec 2006
Location: Calgary, Alberta
Exp:
Default What's the best way to learn Python?

I did a quick search and couldn't find a thread on this (which could be a poor search by yours truly). I'm wondering about learning python for both some work things that I want to do and a personal thing that I want to do. I understand enough to know that python would be good in these situations.

I feel like I'm reasonably computer literate and such, but far from an expert. I've never done any coding, so I'm not sure what the best way to do this is. There are a couple of courses offered within my industry and I've debated those, but for say $500-1000 and a day or two can I learn enough to make that worthwhile?

I also know that there are online resources, but I don't know how feasible that is either?

I guess that brings me to the title...what's the best way for me to approach this?
Slava is offline   Reply With Quote
Old 01-17-2020, 02:43 PM   #2
ah123
First Line Centre
 
Join Date: Oct 2001
Location: Here
Exp:
Default

I would look at something like edX or udemy. Courses are free, unless you want to get a certificate.

It will give you a good overview, and you will know pretty quick if you really need any programming skills for what you’re trying to accomplish
ah123 is offline   Reply With Quote
The Following User Says Thank You to ah123 For This Useful Post:
Old 01-17-2020, 03:11 PM   #3
Krovikan
Powerplay Quarterback
 
Join Date: Jan 2010
Exp:
Default

I always recommend Packt Publishing; they have some excellent books on Python. Once you get the basics down, I would highly recommend Mastering Object-oriented Python; it will go over teaching you all the OOP and AOP parts of Python.

Honestly though, download the latest Python and search YouTube, it is such a natural language that you can learn the basics quickly. The developers just asked themselves, what if we made Psuedocode a real language so it is pretty easy to figure out.

I really wouldn't bother with any of the online paid course though, I have access to a couple of them via my work (like Udemdy for Business) and the Python ones are no better than the courses you have on YouTube.

Last edited by Krovikan; 01-17-2020 at 03:17 PM.
Krovikan is offline   Reply With Quote
The Following User Says Thank You to Krovikan For This Useful Post:
Old 01-17-2020, 03:42 PM   #4
flamingchina
Powerplay Quarterback
 
flamingchina's Avatar
 
Join Date: Oct 2003
Location: Back in Calgary, again. finally?
Exp:
Default

Ultimately, you need to learn 2 things:
  1. how to program
  2. the language
Just learning the syntax of Python without knowing how to actually use it would be fairly frustrating.
The MIT Open Courseware for python is pretty decent, if you can find a copy of the textbook online somehow (it can be found..)
Learn Python 3 the Hard Way is also pretty decent
flamingchina is offline   Reply With Quote
The Following User Says Thank You to flamingchina For This Useful Post:
Old 01-17-2020, 05:02 PM   #5
photon
The new goggles also do nothing.
 
photon's Avatar
 
Join Date: Oct 2001
Location: Calgary
Exp:
Default

1. Choose something other than Python
2. Use that



Sorry I can't stand languages where the formatting of the files is integral to the language (and I'm looking at you too yaml). But Python is popular so I don't think it's a waste of time to learn.

I've done stuff on udemy and the like they work well. I've also done some stuff from YouTube (i.e. https://www.youtube.com/watch?list=P...ature=emb_logo).

Kinda depends on the kind of learner you are.. some people do well out of books, others more interactive lessons, or some better in a class setting.

EDIT: Oh and check with your work or if your work uses Microsoft Office online, I was able to get a 3 month trial to Pluralsight (https://www.pluralsight.com/) through my work's Office 365 subscription and I did some training through that.
__________________
Uncertainty is an uncomfortable position.
But certainty is an absurd one.
photon is offline   Reply With Quote
The Following User Says Thank You to photon For This Useful Post:
Old 01-17-2020, 06:36 PM   #6
Inferno
Franchise Player
 
Inferno's Avatar
 
Join Date: Jun 2002
Location: The Pas, MB
Exp:
Default

There's this.

https://www.fanatical.com/en/bundle/python-bundle

I might get it since I do 3D in Maya and it supports Python to make your own scripts.
Inferno is online now   Reply With Quote
The Following User Says Thank You to Inferno For This Useful Post:
Old 01-17-2020, 11:44 PM   #7
photon
The new goggles also do nothing.
 
photon's Avatar
 
Join Date: Oct 2001
Location: Calgary
Exp:
Default

One other resource is the Humble Bundles, they often have sets of programming books where you can get a dozen books for less than the regular price of one, I know I've seen Python ones periodically.

Edit: One of the current ones is Python, but looks like they're all about machine learning: https://www.humblebundle.com/books/p...n=tile_index_4
__________________
Uncertainty is an uncomfortable position.
But certainty is an absurd one.
photon is offline   Reply With Quote
The Following User Says Thank You to photon For This Useful Post:
Old 01-18-2020, 10:08 PM   #8
GranteedEV
Franchise Player
 
GranteedEV's Avatar
 
Join Date: Mar 2009
Location: Calgary
Exp:
Default

Quote:
Originally Posted by Slava View Post
I did a quick search and couldn't find a thread on this (which could be a poor search by yours truly). I'm wondering about learning python for both some work things that I want to do and a personal thing that I want to do. I understand enough to know that python would be good in these situations.

I feel like I'm reasonably computer literate and such, but far from an expert. I've never done any coding, so I'm not sure what the best way to do this is. There are a couple of courses offered within my industry and I've debated those, but for say $500-1000 and a day or two can I learn enough to make that worthwhile?

I also know that there are online resources, but I don't know how feasible that is either?

I guess that brings me to the title...what's the best way for me to approach this?
Coding isn't something you can learn in a day. As someone reasonably proficient in programming, It could probably take me more than a day to get a useful hang of syntax alone in a new language, never mind the little language specific details/frustrations/libraries one needs to learn.

As far as languages goes though, I think you should realize that python is a scripting language which can be a nightmare to debug for a beginner. I would strongly recommend learning to code with a reasonably modern compiled language such as Java or the underrated C# (which is basically a Microsoft imitation of Java, but thanks to being unified under M$ has more consistency between its libraries whereas Java libraries are all over the place).

The reason I suggest this is because the compiles on languages like this are really good at catching compile time errors, and they usually come with IDEs that make debugging runtime errors managable. At the end of the day you want to spend your time writing working, useful code, not being annoyed about something you should have caught almost immediately. There's nothing wrong with python, but I don't consider it beginner friendly. Then again I'm pretty biased towards languages with a semicolon; so YMMV.

Now if python is very specifically what you need to learn, then go check out thew3schools website and try the basic tutorials there out.
__________________

"May those who accept their fate find happiness. May those who defy it find glory."

Last edited by GranteedEV; 01-18-2020 at 10:23 PM.
GranteedEV is offline   Reply With Quote
The Following User Says Thank You to GranteedEV For This Useful Post:
Old 01-22-2020, 11:35 AM   #9
Kipper is King
Pants Tent
 
Kipper is King's Avatar
 
Join Date: Apr 2006
Exp:
Default

Many people don't know this, but if you have a Calgary Public Library Card you can access Lynda.com courses for free.

https://calgarylibrary.ca/read-learn...ary/lynda-com/
__________________
KIPPER IS KING
Kipper is King is offline   Reply With Quote
The Following 4 Users Say Thank You to Kipper is King For This Useful Post:
Old 01-22-2020, 11:43 AM   #10
calumniate
Franchise Player
 
calumniate's Avatar
 
Join Date: Feb 2007
Location: A small painted room
Exp:
Default

What are you looking to do with Python?
calumniate is offline   Reply With Quote
Old 01-22-2020, 11:54 AM   #11
Wormius
Franchise Player
 
Wormius's Avatar
 
Join Date: Feb 2011
Location: Somewhere down the crazy river.
Exp:
Default

I would start with “And Now for Something Completely Different” which is a compilation of some of their best known sketches, and then ”Holy Grail” and probably “Life of Brian” after that. Of course there are all of the episodes of the show, but I would start with those to get familiar with them.

If you mean the language, maybe Lynda? I think there CPL has a subscription to that.
Wormius is online now   Reply With Quote
The Following 4 Users Say Thank You to Wormius For This Useful Post:
Old 01-22-2020, 01:29 PM   #12
Slava
Franchise Player
 
Join Date: Dec 2006
Location: Calgary, Alberta
Exp:
Default

Quote:
Originally Posted by calumniate View Post
What are you looking to do with Python?
Well a couple completely different projects. One is for stocks/investing and the other is for gambling (). While they're completely unrelated, I don't want to get all that specific about either one.
Slava is offline   Reply With Quote
Old 01-22-2020, 02:25 PM   #13
Bill Bumface
My face is a bum!
 
Bill Bumface's Avatar
 
Join Date: Feb 2003
Exp:
Default

Quote:
Originally Posted by GranteedEV View Post
As far as languages goes though, I think you should realize that python is a scripting language which can be a nightmare to debug for a beginner. I would strongly recommend learning to code with a reasonably modern compiled language such as Java or the underrated C# (which is basically a Microsoft imitation of Java, but thanks to being unified under M$ has more consistency between its libraries whereas Java libraries are all over the place).
I don't know if I agree. The fact it's a scripting language means you can try some really small bits of logic interactively at a prompt and get instant feedback, vs developing away and having to compile/run constantly (barring more advanced use of an IDE to get earlier feedback).

If going the compiled route and trying to gain a good fundamental understanding to open your future options, I think. I'd recommend C first.

For something you can pick up and right a pretty rough looking program that still gets the job done, Python is great. It's very googleable, tons and tons of library support, multi platform support etc.

If I ever need to write anything that is totally throwaway I always find myself reaching for Python. It probably works on whatever computer I'm on, and I can get something up and running faster than most other languages.
Bill Bumface is online now   Reply With Quote
The Following 2 Users Say Thank You to Bill Bumface For This Useful Post:
Old 01-23-2020, 11:29 AM   #14
psyang
Powerplay Quarterback
 
Join Date: Jan 2010
Exp:
Default

Quote:
Originally Posted by Bill Bumface View Post
I don't know if I agree. The fact it's a scripting language means you can try some really small bits of logic interactively at a prompt and get instant feedback, vs developing away and having to compile/run constantly (barring more advanced use of an IDE to get earlier feedback).

If going the compiled route and trying to gain a good fundamental understanding to open your future options, I think. I'd recommend C first.

For something you can pick up and right a pretty rough looking program that still gets the job done, Python is great. It's very googleable, tons and tons of library support, multi platform support etc.

If I ever need to write anything that is totally throwaway I always find myself reaching for Python. It probably works on whatever computer I'm on, and I can get something up and running faster than most other languages.
I don't disagree with your statement on advantages of a scripted language, but suggesting C for a compiled language to start on is handing a loaded gun to a child. For pointer safety alone, choose java or c#. In my experience, using C# with, say, Visual Studio Community seemed easier/more intuitive to get started with than Java and Eclipse.
psyang is offline   Reply With Quote
The Following User Says Thank You to psyang For This Useful Post:
Old 01-24-2020, 02:37 AM   #15
FlamesPuck12
First Line Centre
 
Join Date: Apr 2007
Exp:
Default

Quote:
Originally Posted by psyang View Post
I don't disagree with your statement on advantages of a scripted language, but suggesting C for a compiled language to start on is handing a loaded gun to a child. For pointer safety alone, choose java or c#. In my experience, using C# with, say, Visual Studio Community seemed easier/more intuitive to get started with than Java and Eclipse.
Yeah, I agree. Starting with C as a first language can be a bad idea especially since you have to learn so much about memory management.

Python is a pretty good language to start. I'm surprised nobody gave Slava a true welcome into the world of programming by saying... RTFM!

Kidding! That being said, the official documentation is really good and I would suggest that as the starting point. Check out the official doc here and read through the tutorials: https://docs.python.org/3/tutorial/index.html
FlamesPuck12 is offline   Reply With Quote
Old 01-24-2020, 10:12 AM   #16
calumniate
Franchise Player
 
calumniate's Avatar
 
Join Date: Feb 2007
Location: A small painted room
Exp:
Default

I kind of disagree here. Sounds like Slava is looking for data analysis (though I could be wrong).

To that end Python would be good, maybe even some DAX and SQL.
calumniate is offline   Reply With Quote
Old 01-24-2020, 11:09 AM   #17
Slava
Franchise Player
 
Join Date: Dec 2006
Location: Calgary, Alberta
Exp:
Default

Quote:
Originally Posted by calumniate View Post
I kind of disagree here. Sounds like Slava is looking for data analysis (though I could be wrong).

To that end Python would be good, maybe even some DAX and SQL.
Yeah that's exactly it, data analysis and some automated gathering. I realise that I'm not developing some amazing piece of software that is going to be marketable or anything of the sort. Just that I have some systems and such that would be awesome if I could make easier and more usable for me personally. Reading Bill Bumfaces comments in that line make perfect sense. It's not going to be pretty and maybe people who know what they're doing would laugh at what I end up with...but if I get it to work it really doesn't matter.
Slava is offline   Reply With Quote
Old 01-25-2020, 06:45 AM   #18
CaptainReboot
Backup Goalie
 
Join Date: Sep 2005
Exp:
Default

Udemy is offering a Python course for free at the moment

https://www.udemy.com/course/the-art-of-doing/
CaptainReboot is offline   Reply With Quote
Old 01-25-2020, 09:54 AM   #19
Bill Bumface
My face is a bum!
 
Bill Bumface's Avatar
 
Join Date: Feb 2003
Exp:
Default

Quote:
Originally Posted by calumniate View Post
DAX
While I personally think Dax is pretty awesome, I found it really abstract to learn/grasp vs. SQL.

In my opinion the easiest path here is:
1. SQL
2. SQL using analytic queries
3. Dax

M is fairly useful to learn if making heavy use of Dax as well.
Bill Bumface is online now   Reply With Quote
Old 01-25-2020, 10:39 AM   #20
calumniate
Franchise Player
 
calumniate's Avatar
 
Join Date: Feb 2007
Location: A small painted room
Exp:
Default

DAX is pretty weird I agree. The cool power about it is how you can create temp tables in space basically. But it is quite abstract for sure.
calumniate is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 03:14 PM.

Calgary Flames
2023-24




Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright Calgarypuck 2021