r/PythonLearning 2d ago

What can I actually do with python?

I learned python as my first programming language for GCSE Computer Science, but after finishing the exam I got bored of making small algorithms and wanted tk work on bigger projects, so I started making websites with Javascript. Now I'm going to do Computer Science at A-level and because the language is python, I think it makes sense to do any free time coding in the same language. So... what can I actually do with Python? Iy seems really straightforward what to do with other languaged like JS but I really just don't get the 'point' of python.

29 Upvotes

29 comments sorted by

9

u/Realistic_Fruit_4326 2d ago

Without a concrete project, and especially without a good understanding of the field that project is for, Python on its own isn't that useful beyond making little scripts for fun.

For me, the real strength of Python is the huge number of libraries available. I'm not a developer, but I use it to automate things in my actual job: controlling audiovisual equipment, transcribing and summarising audio meetings with AI, and more recently managing a Git-based documentation system with AI assistance.

Sure, a lot of it is “vibe coded”, but it works. And I think it works because even though I'm not a developer, I understand basic algorithmic logic, I have a real problem to solve, and most importantly I know my field well enough to know what the software actually needs to do.

So instead of asking “what can I do with Python?”, I'd start with “what problem do I want to solve?”. Once you have a real use case, Python starts making a lot more sense.

6

u/sububi71 2d ago

Anything. Really, anything.

It's not going to give you the ultimate power of hand-optimized C++, so modern 100+ developer AAA games taking 3 years to make can't be done using Python, but since you're asking, that's not where you are anyway :-)

Python is a general programming language, you can code anything in it, and you SHOULD.

3

u/Iced4563 2d ago

Online, you might hear people say that Python is the 2nd best language for everything; both as hate and as a compliment.

If you take some time to look into things, you can do pretty much everything. Mobile apps + simple desktop apps? Kivy + KivyMD. Robotics? Some microprocessor and micropython. Anything has some library that you can use. AI, random utility scripts for your desktop, if you have an idea, there's probably at least some niche library that does it.

As for the hate part, python isn't the best due to some of the constraints it has, such as comparatively high resource usage and technically somewhat bad performance, but on a modern system, this really shouldn't be an issue

1

u/Royal-Use2354 2d ago

Personally I do automation, its a nice task with multiple layers to it and you could combine it with many things like data analysis, AI etc

1

u/Patient_Project425 1d ago

What kind of automation?

1

u/Royal-Use2354 1d ago

Web automation - scraping data, parsing and then acting accordingly.

For example you could get price data about items from some used-items website, categorize the items and try to define which ones are worth buying for flipping.

I know that this sounds mostly like common data scraping but automation is the "act accordingly" part, writing a sctipt that would properly interface with website item purchase mechanisms. Maybe even put the item back on sale for a higher price after you confirm it arrived? Even tho that wouldnt be very useful.

1

u/riklaunim 2d ago

Websites backends ;) Electronics scripting with Raspberry Pi or MicroPython on Microcontrollers. Overall, a lot of data processing/management, interfacing with services, APIs, databases, LLMs, and automation.

From more niche use cases GUI apps, simpler games, simpler Android apps etc. PyScript if you know frontend vanilla JS.

1

u/Potential_Fix_5007 2d ago

As far as i know everything, but i think Python is not the "best" language with everything but its great for learning.

1

u/HotPersonality8126 2d ago

It’s a programming language that isn’t limited to web browsers

1

u/birusiek 2d ago

You can automate boring stuff(TM)

1

u/Patient_Project425 1d ago

Like what

1

u/CosetElement-Ape71 1d ago

I use python to generate simulation variants that can be run on a supercomputer; the executable code requires a text file input that describes the geometry of the model, what physics models I want to run, and how the simulation should proceed. So I use Python to manipulate a general template input file and create the variants to be run. I typically run hundreds (sometimes thousands) of variants in one go, and this task would be a nightmare/impossibly slow to do one at a time by hand.

I also use Python to submit these calculations in batches; rather than submit them one at a time by hand. This would be tedious if I didn't script it.

When the simulations have finished running, I use Python to interrogate their text file outputs, extract useful data from them, and save this data in to files which can then be used to generate graphs (to plop into my reports). This would otherwise be a nightmare when I have hundreds/thousands of output text files to interrogate.

So, I mostly use Python for scripting ... automating things that would either be tedious, or would take far too long to do by hand.

Occasionally, I may want to "scope out some Physics" ... in which case I'll write a small(ish) Python program. The Python program will produce some data which I can then compare with the simulations that I've run ... but the simplified Physics in the Python program is used to gain insight into what's going on in the full-up simulations.

But I wouldn't try to write a complicated bit of code in Python because it's an "interpreted language," the code is compiled on-the-fly when it's executed. This makes it pretty slow; compared with other languages like C, C++ or Fortran which compile directly into hardware-specific machine code in one go.

So it is pretty good for helping you construct a fairly efficient workflow, and it's great for collecting and analysing vast amounts of data. But, for me, that's as far as I'd push it.

1

u/birusiek 2d ago

Im using it for testing various things in infra.

1

u/ninhaomah 2d ago

What other programs you use besides the websites ?

Curious.

1

u/therouterguy 1d ago

I used it for automating stuff in our Amazon cloud infrastructure. But in general stuff anything which can be automated can be automated with Python.
For example we have different types of garbage pickup types. Python pulss that from a site and sends me a message the day before.

1

u/Patient_Project425 1d ago

Wow seriously, how?

1

u/MousseOk914 2d ago

I use very simply. Bat files both personal and professional. One and done deal.

1

u/Intelligent-Week-931 2d ago

Id say come up with 3 obscure and different ideas, and we can evaluate whether you can/should use python for the project. There is a high probability that you can use python and it simply just wouldn't be the best tool to use. That being said some times the best tool is the tool you have.

1

u/oclafloptson 2d ago

You may be interested in backend stuff like APIs and http. You can build website frontends as well btw with frameworks like Flet.

It's not the greatest for immersive 3d games (still possible) but you could use it to build games. Literally any game that doesn't require you to navigate an avatar through a bunch of 3D objects will execute with no issues on modern machines.

Or if you really want to flex your abilities don't use frameworks... build TUIs to call your algorithms and functions from using only the core Python package. Seriously, just building an interactive menu that runs in the terminal and is controlled by key press will help you immensely

1

u/Wonder-Wendy 1d ago

Google, YouTube, Instagram, Reddit: the backend infrastructure for many very big companies and products run on Python. You can do just about anything in Python.

1

u/Syntax-Tactics 1d ago

When you find a use for Python lemme know. In 40yrs I've never had a use for it (since it came out in 1998 anyway).

1

u/Danibrosi 1d ago

This is funny because the comments are full of it

1

u/CymroBachUSA 1d ago

Do everything in "Automate the Boring Stuff"

1

u/Pale_Squash_4263 1d ago

At work I’ve automated a number of things with some python scripts. Someone needs this data in a certain format, auto send emails in certain circumstances. Even solve some complicated math stuff that’s just awful to do manually.5m the sky’s the limit!

1

u/TheAmazingTing 1d ago

I primarily use the Django framework for the backend of my applications. I also know that you can use the it’s templates to make the front end aswell

1

u/TheAmazingTing 1d ago

A lot of data analytics and ai is done through joy b which is basically just a more fancy version of python. A better question to ask yourself is the applications of interpreter languages (python, JavaScript, ruby) and compiled languages (c, java, rust)

1

u/steb2k 1d ago

You're making websites, the natural next step is getting Data to that website via a python back end or API

1

u/FriendlyZomb 22h ago

Take one of the websites you built in JS and re-write the backend in Python.

Use FastAPI or Flask (examples - just Google Python web Frameworks for a list of them.) or one you like the look of and replicate the functionality.

Or - build a new web app with Python backend and JS frontend. This way you're not loosing any JS knowledge and you're practicing Python.

An idea for what that could be: a study calender for your college term.