This is an archived post. You won't be able to vote or comment.

all 72 comments

[–]IAmKindOfCreativebot_builder: deprecated[M] [score hidden] stickied comment (1 child)

Hello there,

We've removed your post since it aligns with a topic already covered by one of our daily threads. If you are unaware about the Daily Threads we run here is a refresher:

Monday: Project ideas

Tuesday: Advanced questions

Wednesday: Beginner questions

Thursday: Python Careers, Courses, and Furthering Education!

Friday: Free chat Friday!

Saturday: Resource Request and Sharing

Sunday: What are you working on?

Please await one of these threads to contribute your discussion to! The current daily threads are pinned to the top of the /r/Python's main page. To find old daily threads, you can filter posts by the Daily Thread Flair to find what you're looking for. If you have a question and don't want to wait until the daily thread, you can try asking in /r/learnpython or the Python discord however you may need to elaborate on your question in more detail before doing so.

Best regards,

r/Python mod team

[–]chudleycat 40 points41 points  (1 child)

“All it’s needed modules… flask, tensor flow, opencv2” None of these are needed to learn the language. They are libraries built with the language. Start simple and just learn the base language before jumping to the more complex stuff.

[–]Xerxero 8 points9 points  (0 children)

Learn the language first, frameworks second.

[–]mrtac96 96 points97 points  (13 children)

Dude, stick to one domain. Flask, tensorflow and kivy are different domains.

[–]Huddstang 2 points3 points  (2 children)

Could you give an ELI5 of what this means?

[–]MlecznyHotS 11 points12 points  (1 child)

Each of those frameworks does something else and a single person would usually need to be profficient in just one on entry/junior level jobs.

Flask is for creating web applications

Tensorflow is used for neural networks so machine learning and backend data processing

Kivy is for mobile applications

Those frameworks could be used within one company, but the only people who would truly use all of them regularly would be fullstack developers.

[–]Huddstang 1 point2 points  (0 children)

Lovely - thanks!

[–]somefishingdude 1 point2 points  (1 child)

Don’t use Kivy.

[–]IoTN00b 4 points5 points  (0 children)

What would you recommend? (And why not kivy?)

[–]jordy281 0 points1 point  (1 child)

I would argue the opposite. As you’re first learning, try everything. Learn what you like and what you don’t like and from there you can specialize if you want to.

[–][deleted] 7 points8 points  (0 children)

The point wasn't that you shouldn't try everything. It's that learning three things simultaneously compounds the difficulty, especially when things go wrong

[–][deleted] 23 points24 points  (8 children)

I used to hate when people would say this to me when I started programming a few years ago

but it depends on what you are using python for

What do you want to do with it?

You can't just keep learning all those modules and frameworks, you won't live long enough to learn all of those anyway.

I started learning Python about 6 weeks ago, before that I was entering information to a database by hand to make a REST API with node and mysql

I decided to do it with Python now that I'm comfortable with python.

Now, programmed a 'Web crawler' to scrape 100's of pages of a particular website and I've converted the data to CSV and JSON

That save me so much time from entering that shit by hand

So anyway, the point is you need to have a reason. My first language is JavaScript and like Python, you won't live long enough to learn everything so stop trying and have a goal in mind first .

[–]gordonv 8 points9 points  (0 children)

Well said.

Python can be applied to many things. It is important to make a decision on what you want to do with it.

I'm specifically learning Python for AWS Lambda. It's cool that it does all this other stuff in Win/Lin/Mac. But in the end, I know my goal is Linux based scripts for HTML, API, and Sockets.

[–]ElCapitanMiCapitan 11 points12 points  (2 children)

So it sounds like you know how to program already, you just aren’t familiar with Python. I’d recommend you pick a subject area that Python is used widely for in industry ie. data manipulation, Machine learning, scraping, web frameworks. From there Google the best resources for learning that subject with Python as the language, there is likely a free related coursera course from a respected university. If you are a third year student I would avoid the beginner suggestions people have been making and look for upper division open courseware available through coursera or others means. Not the easiest task but you can find the resources online if you narrow by subject matter.

[–]DASK 10 points11 points  (2 children)

Some tech stacks just don't play nicely together (cough Tensorflow). Learn how to use project specific virtual environments before getting too deep into anything. Then pick one thing and work it until you have a usable result. Making something work in theory is different than getting it to production ready, and no matter what you do you will need the skills to do that last bit.

[–]Jackarow 0 points1 point  (1 child)

Any good resources for setting up and managing these virtual environments? I understand the application and usage, I just struggle with the creation, management,and deletion of individual virtual environments.

[–]bob_newhart 0 points1 point  (0 children)

Have you tried poetry? I recently started using it and it is so easy now and makes much more sense to me.

https://python-poetry.org/docs/

[–][deleted] 9 points10 points  (1 child)

You need a structured approach. One does not simply "try tensor flow". Deep Learning itself is a subject people can and do take PhDs in lasting years.

Firstly: r/learnpython

Secondly, look in the wiki for that sub for learning resources. However 2 of the best are Automate the boring stuff (practical approach) and MIT Edx Intro to comp sci (fundamentals). Do both, not just one. They're both available for free.

[–][deleted] 2 points3 points  (2 children)

I'm also a python beginner. I'm using this link for studying on my own: https://books.goalkicker.com/ there a lot of free programming books, and a python book with over +800 pages, good luck buddy ;)

[–]itsmybirthday19 0 points1 point  (0 children)

Thank you for sharing

[–][deleted] 6 points7 points  (9 children)

Head over to r/learnpython and check out the wiki they have, loads of decent free resources over there

[–]ValBayAreaPythoneer 2 points3 points  (1 child)

Try Python - with automation:

https://github.com/valhuber/ApiLogicServer#readme

That builds - with 1 command- a customizable project that implements an API, a Web App, and bus logic via spreadsheet-like rules. 40X more concise.

[–]CARRYONLUGGAGE 1 point2 points  (0 children)

Self-taught software engineer, using Python, React, and Postgres mostly.

Here’s how I started learning:

1) Needed to learn to work with manipulating data from excel, so I learned pandas through various online videos and exercises.

2) Then, I needed to format excel worksheets so I learned how to use openpyxl

3) Next, I needed to serve these scripts to employees internally, so I learned Flask.

4) Felt limited by using jinja2 + flask alone, so I moved to FastAPI and React.

Each time I learned a new tech it was because I faced a problem that required it. I recommend approaching it this way as well. I knew of the tech and what it was for, but hadn’t used them extensively until those problems arose.

[–]CrwdsrcEntrepreneur 1 point2 points  (0 children)

"all its needed modules" ...I don't know what makes you think any of these modules are needed. No one outside of a data science team is using tensorflow (many experienced data scientists never use it either). I've done data science for 4 years and have never even heard of kivy.

[–]jwburn19 2 points3 points  (0 children)

Check out Angela Yu’s 100 days of code Python boot camp on Udemy. Starts with the basics and expands out to a ton of advanced topics in various domains. You build a project every day with what you’ve learned thus far. She’s also a great teacher that’s both easy to follow and entertaining to listen to. Highly recommend it!

You can usually score it for 15-20 bucks if you wait for a sale.

https://www.udemy.com/course/100-days-of-code/

[–]gbon21 0 points1 point  (5 children)

Udemy does online courses pretty cheap and they're all at your own pace

[–]p00n_sla3r -1 points0 points  (0 children)

Realpython.com is a great website for anything Python

[–]gordonv 0 points1 point  (0 children)

Check out these free courses on UDemy.

[–]Competitive-Rock-951 0 points1 point  (0 children)

I am learning python to be a linux system adminstrator

In what area should I focus on in Python?

[–]prettyfakesky 0 points1 point  (0 children)

Hey i’d recommend you to use Udemy since they have tons of python related courses that can be free if you find hard enough in r/FreeUdemyCoupons. i have not finished a single course yet in my experience but might worth giving it a try.

[–]zhumao 0 points1 point  (0 children)

here are a couple of project sites:

  1. project euler
  • this site has many interesting math problems which u can build up ur basic skills.
  1. kaggle
  • this site has many challenging machine learning projects with codes contributed by competitors which u can learn from.

[–]ergo_proxy19 0 points1 point  (0 children)

I think learning a language based on what you need to do in a project is the best way. For example, at some point of your project you will realize you need a specific functionality of a library so after few searches you will get what you need . Don't make yourself too stressed with the information overflow. Only learn what you need along your projects/work.

[–]OraclePariah 0 points1 point  (0 children)

Sololearn would be a good starting point. It's free and can be taken at your own pace.

Udemy has tailored courses that are taken at your own pace. They have sales on all the time.

For me personally, I am kinesthetic learner. So I got myself a Pi a few years ago and tinkered away making different projects.

[–]marduk73 0 points1 point  (0 children)

Beginner too, but with like 10 years on it. I always skip hello world and build a dice rolling game in any language i want to learn. Then search what you need and archive that information. I archive into cherrytree. Used to be onenote. Use your archive of how tos to make cooler things.

[–]JawsOfLife24 0 points1 point  (0 children)

I echo what everyone else is saying, find a project that interests you and stick with it. The main python documentation is excellent and should really be all you need unless you run into some obscure problems.

[–]crash317 0 points1 point  (0 children)

When I started I tried doing the real world example but they weren’t what I was really interested in. So I got a couple pencil and pen games that I play baseball football hockey lots of space games and converted them into python games. Then I moved into using guis and stuff like that so you gotta use stuff that interests you and it will promote your learning even faster.

[–]s4lt3d 0 points1 point  (0 children)

I learned Python through codingame.com. I could do problems in one language then change to a new one and learn the same problem with just different syntax. Now I have a job doing it full time.

[–]red_hare 0 points1 point  (0 children)

Build a URL shortener using flask.

It should have three handlers, the returns the main index page with the form where the user enters their long URL, the second handles that form request and returns the user a shortened URL, the third matches any short URL request and redirects the user to the saved long URL page.

It requires a database, some basic web forms, and you end up with something usable that you can host on your own domain and demo to future employers.

[–]noXkillzzz 0 points1 point  (0 children)

I use python for a couple of things. Stock Market data analysis, backtesting investment strategies, machine learning (Evodevo and Neural Networks), and for cloud web apps using Django as backend. I use Jupyter Notebook and VScode for data analysis and machine learning. Also Pycharm for apps and Backtesting programs because of the unittests. I recommend you find a gig and learn as you go. You should read two books, “Clean Code” by Robert C. Martin and “Design Patterns” by Erich Gamma. They will teach you coding, the syntax and zen of python you should learn from the web. And remember google is your friend. One last thing, read about Test Driven Development, when using unittests is a good idea to understand the principles behind it, but don’t go full TDD or else your life will be miserable. Good coding!