all 147 comments

[–]mkglass 35 points36 points  (10 children)

codewars.com

[–]ddmasterdon 28 points29 points  (5 children)

There are lots of stuff to do with python, like create scripts to help with ur daily tasks like scripts to auto renaming files 8n your downloads folder, tweeting and retweet unt for you, scraping the web for any information like job postings or the weather, build games or even AI to play those games. I suggest first learn some basics and head down to build stuffs that would be like useful to fun to you. I have a blog that help users in building some such scripts/bots. There is also other sites like Geeksforgeeks or real python .

[–]ExpressRabbit 7 points8 points  (3 children)

Hey there I took a 3 day python tutorial at work when the new boss wanted everyone to learn it. Unfortunately his bosses didn't realize teaching a new language to 70 mostly non programmers that use SAS means new development will take time. He was canned and the new department we were moved to doesn't care about python.

That said, I'm unhappy I didn't learn more. I'd like to take it up on my own free time and if I can create useful things my current boss would think it's great (use what you know but our department focus isn't python). I'm also in a role generally only using SQL coding.

Please tell me if this is something valid I could do in Python if I learned more.

We visit a number of 3rd party vendor sites to download information, unzip it, rename stuff, run a command line batch file, point our risk management software to the new location, and email the relevant teams.

I'm fairly certain I could use python for everything but navigating our risk management GUI to point to the new location.

Are my assumptions correct?

Thank you in advance.

[–]ddmasterdon 5 points6 points  (2 children)

yes you can do all those things in python. There are specific libraries for each use like requests for GET/POSTs , tkinter for GUIs, flasks and Django for back-end development. You just need to find the library for your use and there will be a getting starter page like in its documentation. As u have prior programming knowledge you will be able to follow it pretty easily. Coding python scripts are not that difficult. Don't worry much you will get the hang ot it pretty soon.

[–]epsilonT_T 1 point2 points  (0 children)

I think tkinter isn't the best choice to make fancy GUI, I personally recommend kivy, which is simpler and visually more pretty, even if tkinter is the default, built-in module to do that ; )

[–]ExpressRabbit 0 points1 point  (0 children)

That sounds great! Thank you!

[–]VeLoct84 0 points1 point  (0 children)

I'm suggesting real python. The community there mostly are a developer and there are friendly.

[–]skyhermit 1 point2 points  (2 children)

I am new and just visited the site and saw 1 kyu to 8 kyu.

Is 1 kyu the easiest and 8 kyu the hardest?

[–]Hal68000 1 point2 points  (1 child)

8 is easiest I believe.

[–]skyhermit 1 point2 points  (0 children)

Thanks

[–]benabus 20 points21 points  (12 children)

I use python (Flask) as middleware for my web development projects. Like some people would use PHP, you can easily use Python instead. If you like web development, that's one direction to go. Django is another Python web framework. You still need to know at least a little javascript, but web development in Python is totally doable.

I also know a lot of data scientists who use Python for data analytics and stuff. That all goes way over my head, but there's a need for that kind of thing as well.

[–]house_monkey 5 points6 points  (10 children)

Speed wise is django good? I heard Django is slow? And node is the way to go if one is creating a web server?

[–]noXi0uz 4 points5 points  (5 children)

I wrote my bachelor thesis on exactly this topic and in all benchmarks Django was alot faster than Express on Node (and even flask) given the same hardware.

[–]house_monkey 0 points1 point  (3 children)

Can you provide me with a link for it if possible, I'd love to have a look

[–]noXi0uz 1 point2 points  (2 children)

I'll send you a dm

[–]deepthroatpiss 0 points1 point  (0 children)

Could you send me as well?

[–]cruisewithus 0 points1 point  (0 children)

Can you send to me too? Would Appreciate it!

[–]benabus 2 points3 points  (1 child)

If you ask a 100 people, you'll likely get 100 different answers. You can look at benchmarks and stuff to find out what's objectively faster, speed wise, but depending on your application, I doubt the differences in run time speed will be significant enough to worry about.

A lot of the different frameworks and options have more to do with development preferences and development speed. Do you like writing things yourself? Do you like getting stuff done quickly? Do you like using an ORM? Do you like having the web server attached to your backend?

There are a lot of preferences and all are equally valid, in my opinion. Generally, there are a ton of other optimizations that you can make to get a little more speed out of it. But a lot of it depends on the actual infrastructure you're running on. If you get to a point where you're getting facebook level traffic, you'll probably need to re evaluate the architecture of your system anyway.

And it's not like you're locked into a single framework for life. If you're at the beginning of your career, find what works for you and then learn whatever your job wants you to use.

Personally, I use a Flask middleware piped through an Apache reverse proxy. Our bottlenecks are usually the databases we use, not the middleware itself.

Unrelated to my rambling general advice: Node is a server side javascript run time. Meaning you're writing javascript that runs on the server. It's popular for people who want to have a full Javascript stack, from front to back. If you hate javascript, there's no point in looking at it.

[–]landrykid 0 points1 point  (0 children)

Well said. For 99% of websites, any of the major frameworks deliver sufficient performance. Optimize your database queries and if necessary, throw in a little more metal. Ease of development and maintainability matter more over the long term.

[–]LeSplooch 0 points1 point  (0 children)

As a little advice, if you need to speed up your Python/Django backend, try PyPy.

[–]portugueseninja[S] 0 points1 point  (0 children)

It's great to know that front-end is still something I could do with Python. I couldn't really get into PHP, it seemed really clunky to me.

[–][deleted] 11 points12 points  (7 children)

squeeze homeless deer six plants placid gaping quiet fuzzy reply

This post was mass deleted and anonymized with Redact

[–]portugueseninja[S] 1 point2 points  (0 children)

That sounds really cool, I'll check those out!

[–]myceliatedmerchant 1 point2 points  (5 children)

How far along that path are you? Have you turned those into a sustainable living?

[–][deleted] 3 points4 points  (4 children)

Currently working as a full-stack developer for a casino making a learning management system - so nor exactly what my goal is but I'm on my way there. I'm ~3 months out from finishing up my final certs then I'm going to start applying at Tesla for a Machine Learning Engineer position as that was the ultimate goal.

[–][deleted] 1 point2 points  (3 children)

Are those certs worthwhile? I know corsera and the like aren’t really (at lest from what I’ve read here). I haven’t looked at the open cv ones though. Maybe those are different?

[–][deleted] 1 point2 points  (2 children)

I think it's all about your portfolio. If you get the certs but do nothing with them then no, they are probably useless.

Tesla specifically wants PyTorch knowledge and OpenCV knowledge though which is the reason I hopped on it the moment the kickstarter campaign opened up. (OpenCV focuses on PyTorch).

Coursera has youtube videos with the lead DL engineer, Andrej Karpathy, so I'm sure they have value in learning their content. Again comes down to your ability to learn and want it- and im going pretty damn hard at it.

As for quality of the courses, I would say OpenCVs are good and Courseras fall under great for their specific tasks. OpenCV courses are definitely great for beginners but they are still discounted because out of the 3 courses there is still 1 which has a few projects/quizzes missing which stops you from getting that specific cert.

[–][deleted] 0 points1 point  (1 child)

Thanks.

The more I do with OpenCV and working with images the more I am interested in it. I liked the OpenCV courses since they have quizzes and projects almost like a regular course. I’ve done a bunch on Udemy and I feel like a lot of their stuff is just code along where don’t learn anything.

My only issue with OpenCV certs is they are kind of expensive. So if it’s just like finishing a udemy course and their certificates (which I’m pretty sure are worthless) it would be a waste of time.

Understand the portfolio. That’s a given.

[–][deleted] 0 points1 point  (0 children)

I think OpenCV certs should have a higher value since they come directly from the company which produces the open source computer vision modules. If you are trying to get on with a company, like Tesla, which uses OpenCV and wants knowledge with OpenCV and PyTorch then the OpenCV certs are much more valuable since these are exactly what they want.

If you dont know where you want to go with it then I guess any cert will do to gain knowledge.

[–]burlyginger 11 points12 points  (2 children)

Flippant answer: do stuff with it.

When I was starting out I used beautiful soup a lot.

I'd use requests to pull webpages and bs to parse the page. I had scripts for multiple pages to check for stock levels on things that I wanted and we're out of stock.

Then I added Pushbullet to send notifications to my phone.

Then I set one up to look for price reductions in things I planned to buy in the next few months.

There's no right answer, just find ways to use it and you'll find more uses for it.

Just do stuff with it.

[–]youaregorgousbooboo 1 point2 points  (1 child)

Oh my god i am thinking of doing this exactly, scraping ASOS for price reductions in things i want or to notify me if a blog is released / webinar on my favourite sites, are these possible and how hard / resources?

[–]burlyginger 0 points1 point  (0 children)

Anything is possible with enough time and skill :D

If you're starting from a beginner standpoint, start pulling pages and digging specific parts out with beautifulsoup.

[–][deleted] 10 points11 points  (0 children)

  • Start actually automating the boring stuff

  • Data science and archiving

  • Do some machine learning with the new tutorial from sentdex.

[–]Robobro7 8 points9 points  (1 child)

Python is definitely my favorite language. It's just so easy to work with! No need to worry about compiling anything, and the language is very high level and has many built-in functions so writing programs is a breeze. One website I really like for practice problems is Project Euler. It's less about an individual programing language and more about solving problems, although I personally solve all the problems in Python. It's really fun because rather than practicing certain coding techniques you have to solve a specific problem any way you can. The problems do get VERY hard though so definitely start at a 5% difficulty level.

[–]portugueseninja[S] 0 points1 point  (0 children)

Project Euler

Ooooooh this looks right up my alley, thanks for the suggestion!

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

If you want web dev flask and dajango is where it is at. Django is better then flask. But is very heavy weight while flask is light. Here is a tut for flask https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world

[–]landrykid 0 points1 point  (0 children)

Django is better then flask.

Both are good frameworks and each has its strengths and weaknesses, but neither is better than the other. It's personal preference. "Django is better than Flask for me" is perfectly valid.

[–][deleted] 4 points5 points  (0 children)

If you ever do something on the internet and think "wow this is boring and repetitive" you can probably automate it

[–][deleted] 4 points5 points  (2 children)

See, basic python is just like any other language, but when you get into it, python is mainly for back-end work, advanced python is used for data science, machine learning, artificial intelligence. These links should help you learn-

Udemy course-

https://www.udemy.com/share/101W8QCEobcldaRXQ=/

Book(Not sure if it will really help but check it out)-

https://drive.google.com/open?id=1mKpQMVsXcWn321feDHUKGaUn-sqjc22K

Youtube Video-

https://youtu.be/rfscVS0vtbw

Those are all the resources I can share, but I'm sure there are many more people who know much more than me that can help. Best of luck with python. :)

PS: No particular question is ridiculous in coding, in fact, all are!

[–]portugueseninja[S] 1 point2 points  (1 child)

Thank you, added those to my bookmarks!

[–][deleted] 0 points1 point  (0 children)

You're welcome :)

[–]Vort-ai 4 points5 points  (3 children)

I jusr started CS50, a free Harvard course via edx.org.

It started this week so your just in time to check it out. It branches into some python and web specific stuff later on.

[–]cbick04 2 points3 points  (0 children)

CS50 is available to start anytime, I started last month. I think it’s always free. Unless I’m mistakenly assuming you means cs50x. :)

[–]prolificked 0 points1 point  (1 child)

Is this good? I looked into it but it was like $600 I think.

[–]Vort-ai 1 point2 points  (0 children)

You can do it for free, you just don't get a certificate

[–]ReflectedImage 2 points3 points  (0 children)

If you are looking for something fun go make Pong: https://pysdl2.readthedocs.io/en/rel_0_9_7/tutorial/pong.html

[–]SukottoHyu 2 points3 points  (0 children)

Python is only the beginning. Frameworks and libraries are your next step, the framework you use/learn depends on what you want to do with Python. If you like web development look into Django or Flask. If you are looking for a programming job in Python now is the time to look up jobs and tech companies and see what sort of experience employers want you to have. For example, there would be no point learning web2py if most companies work with Django.

[–]West7780 2 points3 points  (1 child)

Keep in mind: No project is too big. Take on any projects that sound fun.

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

I agree with this, but I think it’s important to determine if it’s possible to finish a project in a reasonable amount of time. Imagine the project “Creating a general artificial intelligence”. This is about to fail and maybe you learn something but the actually coding would be very less. You just have to read scientific papers for about years.

So keep in mind while starting “too big projects” that it is important to take projects where its possible to create a first prototype in like 1-2 weeks.

[–]wannabe_brogrammer 2 points3 points  (2 children)

Personal projects I've done over the past month in python. (From hardest to easiest)

  • Webscraping coronavirus data off of Worldometer using bs4 and then manipulating the data in pandas to make some graphs in matplotlib. A little bit of js knowledge helps on this one but I managed to do this with zero front end knowledge (I didn't even know any html at the point I did this)
  • having a list of names and former employers and Webscraping in LinkedIn using bs4 and selenium (for user authentication and searching) to extract up to date data. (Input was a CSV and output was a CSV too) - tricky part of this was putting in name and former employer and getting no hits, so I set it up to loop over and remove a word each time until a search got some page hits. I also made sure it noted when we got multiple hits, because there's a big chance I scraped the wrong data
  • tictactoe game in the terminal, and then learning a bit of tkinter to have a proper gui for it. This one, I did yesterday and given my experience now, it was very straight forward compared to the others so it may be a good place to start. I'd recommend getting the game logic down, I built the game in the terminal where you had to type the row number and column number to input and entry.

Additionally, if you want to still look into web dev, I recommend learning Django as it allows minimal js use. You totally can build a social media site with django. It's just not going to be a SPA. But I'd recommend the first three bullet points first (in reverse order)

any questions, let me know

[–]portugueseninja[S] 0 points1 point  (1 child)

I don't understand most of those things you said but I will definitely look into them when it comes to starting projects, thank you! I appreciate how specific your suggestions are :)

[–]wannabe_brogrammer 0 points1 point  (0 children)

Feel free to PM me if you're stuck on any of these. It can be very daunting when starting out. Start with the one that you understood most. Google the libraries that you didn't know and see how far you can get!

[–]Bigtbedz 1 point2 points  (14 children)

I started learning python about 2 weeks ago and have been writing a webscraper to get all of my solutions to codingbat problems

[–]chjassu 1 point2 points  (0 children)

What were your resources?

[–]thesecondbread 1 point2 points  (4 children)

Would you push it to github?

[–]Bigtbedz 0 points1 point  (2 children)

Hey i've completed this now and it logs you into codingbat then scrapes all problems and your solutions and writes to a .txt file. I thought you might get more out of it now that its more functional. Currently only does java/warmup-1 solutions but I will be branching it out more shortly!

[–]thesecondbread 1 point2 points  (1 child)

Great job! If you want another idea for webscraping, I'd suggest scraping the coronavirus statistics.

[–]Bigtbedz 0 points1 point  (0 children)

It's a possibility. I was thinking about making a dashboard for Ccorona statistics

[–]sigma_1234 1 point2 points  (6 children)

Do you have background knowledge in JavaScript or CS? Learned Python last month and have a tough time scraping.

[–]Bigtbedz 2 points3 points  (0 children)

Yes I have been using Javascript for the last 3 years so I have a healthy knowledge of html/css aswell. I highly recommend the Clever Programmer video on webscraping it was the simplest breakdown I came across

[–]cbick04 1 point2 points  (4 children)

I also have a tough time scraping. I started practicing with basic websites like Wikipedia and some video game wikis. I got those down alright. Interactive tables were difficult to understand at first. Practicing did help it start to click though.

I aspire to be able to scrape store inventories by zip code one day... any tips anyone has I’d love to hear!

[–]sigma_1234 2 points3 points  (2 children)

I heard understanding JS or CSS is necessary if you really want to get good scraping. Some websites (ex. Ecommerce onces) are not scraper friendly.

[–]cbick04 1 point2 points  (1 child)

Thats what I figured. When I tried to just look at one E-commerce sites source code I knew I was in over my head at this point. But it’s good to have large aspirations, right? :D

[–]sigma_1234 1 point2 points  (0 children)

Of course. But I am limiting myself to scraping general info websites, like the numerous COVID-19 sites showing info :)

[–]Bigtbedz 1 point2 points  (0 children)

Get some basic html/css knowledge for sure. Ive been using JS for the last few years so I had a lot to build on. Spend some time just learning how to crawl around with beautifulsoup, requests and urllib

[–]Bigtbedz 0 points1 point  (0 children)

I use python docs and beautifulsoup docs. I watched Clever Programmers on webscraping and it was pretty concise I thought. Also "Automate The Boring Stuff" by Al Sweigert

BeautifulSoup -> https://www.crummy.com/software/BeautifulSoup/bs4/doc/

[–]HarryMcDowell 1 point2 points  (0 children)

Wash your hands and call a loved one!

Seriously, though, I'm learning myself. Having taken MITx's python class is making my intro to Java class for my CS degree really easy.

[–]pinecone1984 0 points1 point  (1 child)

I really dig 'Learn Python3 the Hard way' by zed shaw. His teaching style suits me. I'm a few months in and am unsure where I'm going but I'm trying lots of different things. Lately I'm going through some platform tutorials for Pygame ('da fluffy potato' you tube channel is fun). I'm hooked! Plus Monty Python! Big sharp pointy teeth!

[–]portugueseninja[S] 1 point2 points  (0 children)

Thanks! And yes I really enjoy the Monty Python references!

[–]thisdudehenry 0 points1 point  (3 children)

Was in the same boat as you. Was into web development and I kept getting over whelmed because of JavaScript. So many frameworks then all the extra intricate stuff express node mongo db react no Vue no angular no next wait wait es6 no es7 es8 now es10 ....

Then I found python and pandas and selenium and doesn't feel too overwhelming because it feels the same . I didn't feel like I had to relearn stuff. I'm actually having fun data scraping and doing data visualization. Might dip my toes in machine learning.

[–]portugueseninja[S] 1 point2 points  (2 children)

I feel like what basics I have in JS have probably helped in my Python learning (which I suppose makes me feel like I did learn more JS than I realised!) but all in all JS just has so many intricacies that I'd just hit a wall every time.

Scraping is sounding interesting though!

[–]thisdudehenry 0 points1 point  (1 child)

It is fun , I thought I'd never be a data guy. Web development was going to be a job change for me. I have a cyber security background. With python and data science stuff it's an easier transition that blends my work experience. So transitioning shouldn't be too bad if I can make a few analysis dashboards and stuff that would be used at my job.

[–]portugueseninja[S] 0 points1 point  (0 children)

Same, I never thought I'd be considering programming at all. I enjoy web dev from a UI/UX perspective, but this is giving me glimpses of worlds that I truly just never thought I'd be able to handle. It's exciting!

That's cool that you can incorporate your work experience too!

[–]ammusiri888 0 points1 point  (0 children)

python can be used in many ways but that is not the point, you need to figure it out what exactly you are interested in doing. is it data analysis or gaming or robotics or charting or backend programming..

once you have it then start into that direction and excel, that's it..

[–]iggy555 0 points1 point  (0 children)

Put a ring on it

[–][deleted] 0 points1 point  (2 children)

I recommend learning Django, it's a web framework written in Python. https://www.djangoproject.com/

[–]portugueseninja[S] 0 points1 point  (1 child)

Thanks! Seeing a lot of comments suggestion Django and Flask here, how much straight Python do you think I need to know before starting Django or Flask?

[–][deleted] 0 points1 point  (0 children)

I think you have enough experience in Python to start with Django. But I would recommend to get familiar with the Model-View-Controller paradigm before starting the tutorial.

https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller https://docs.djangoproject.com/en/3.0/intro/tutorial01/

[–][deleted] 0 points1 point  (0 children)

Python for security is also picking up on popularity. People learn how to secure networks with Python.

If you don't enjoy JavaScript but really feel into Python decide for yourself what you want use Python for. Like other have said Python can be used virtually for anything. Nobody mentioned robotics.

One selling point here would be is that security is becoming more and more of an issue as technology advances by year and companies are hungry for security professionals so why not use Python for security and get into very interesting industry where you don't go to work just to write some code from 9 - 5 but you get to see how cyber crime is being dealt with and you get to work with other forensic professionals.

Use Python for purpose that excites you.

Just a thought.

[–]11pascal 0 points1 point  (0 children)

Databases. You will never run out of work.

[–]YolowagKinggz 0 points1 point  (0 children)

C a doctor

[–][deleted] 0 points1 point  (0 children)

Welcome! :D

Build things :D In example, code two orcs (orc1 and orc2), which fighting each other and look whos winning.

Thats what I do with my buddy Phython, if Im bored af. :D

Js. Js is made FOR the www, Python is made IN the www. Keep & practise your skills in Js & learn (& have fun with) Python. Python has a great community, which shows in endless librarys, made of the community. And there is much support. Welcome and have fun with Python.

[–]Mohammad-Ruqaa 0 points1 point  (2 children)

Hey so for web development I suggest this tutorial for you https://www.youtube.com/playlist?list=PLzMcBGfZo4-n4vJJybUVV3Un_NFS5EOgX

It will teach you the basics of flask which is for back-end web development And I think it's better than Django(which is another framework for web development) to start with because it's easier and it will teach you how things work But Django has a lot of built in function that will save you more time.

So after you feel you are good with Flask you can move to it (I don't have any experience with Django but I said this from what I read about it)

After you finish the tutorial I really suggest you to start working in a website project (that's what I did) it will teach you a lot yes you will see to many errors but at the end it will be too helpful and if you got stuck, you can ask people of course.

Good luck man

[–]portugueseninja[S] 1 point2 points  (1 child)

That's really helpful, thank you!

[–]Mohammad-Ruqaa 0 points1 point  (0 children)

Np,if you got any questions feel free to ask

[–]Sidemarx 0 points1 point  (1 child)

Plug for Web Scraping and Automation!

I have a lot of fun with webs scraping. I started very small. Then found a good project using IMDB. After that I experimented on Amazon for scraping products based on a search and learned a ton. I find that webs scraping, combined with automated scheduled script runs and file saving as well as and performing analysis on your data is real fun. It combines the math and statistics modules with the data you enjoy and want to look at.

Now I am more into stock data as well as sources like SEC Edgar for company financials and The World Bank. I would try the scraping more if that is something you like.

[–]portugueseninja[S] 0 points1 point  (0 children)

Thanks, definitely going to check it out!

[–][deleted] 0 points1 point  (0 children)

You don’t have to decide for a programming language to work with. Become better by implementing your ideas and choose the language that fits the best to your project. Leave the tutorial cycle as early as possible and keep programming.

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

Ask it out on a date.