I suggest JupyterLab. I have it running as a client on my MBP.
Installation is not as easy as uncorking a bottle (e.g. not as easy as downloading and running an installer package). The up-side is that you can run your code in a Web-browser UI, and you can document the code with Markup.
Here is a snapshot of a demo that I use to teach the basics of creating a python code with interactive widgets (I do not claim to be an expert in python coding).
When you are so inclined, contact me off-line. While it has been a while since I’ve gone through the installation, I can probably recall enough to talk you past the pitfalls of one method or another (primarily pip versus homebrew).
I should also mention that the resulting Python programs have to run on Mac OS, Linux, Windows, and also ideally iPAD iOS, Android and ChromeOS on ChromeBooks.
I think that eliminates Xcode as an option. If I’m wrong please let me know.
Pycharm is fantastic. Jetbrains products I think are excellent for learning. They have one of the best auto-fill for method calls/templates for loops, functions, etc.
What IDE you write in does not effect it’s ability to run on an OS. It just needs to have python installed. For iPadOS you’ll need pythonista installed and to make sure you’re not using modules that don’t come preinstalled with pythonista
Seconding JupyterLab. Really awesome for learning/note taking alongside code.
For a learning environment I really like https://coderunnerapp.com/ (code runner 3). Gives you the ability to play at a pretty low cost. It’s also simple to set up and use.
Agree with others about PyCharm for production development.
In my opinion, for sure get Anaconda running to create the virtual environments to run your Python, FORTRAN, and easy access to using Jupyter. Avoid temptation of installing Python direct into your Mac OS. The OS relies on Python for a lot of stuff and you run risk of either breaking that, or making it impossible to install other Python libraries. You’ll discover a huge collection of extremely valuable Python libraries, and using Anaconda will introduce you automatically to the best of the best.
I tend not use the IDE’s that much, instead doing all the heavy editing work with Sublime Text, which has good interfaces with Git (running locally for me mostly, but I also replicate to Bitbucket).
If you are looking for a full featured Python IDE, PyCharm is probably the best choice. That being said it is heavy weight being a full featured IDE. For something more than a generic editor and less than full blown IDE, I would recommend Visual Studio Code with the Python extension installed in it (written by Microsoft). I work on both the Mac and Windows and like that VSC gives me a consistent environment between the two OSs.
With your ANdroid Studio experience, I think PyCharm would still be a good choice for you.
I leaned Python for the O’Reilly Learning Python book (2nd edition). The older editions were excellent but I don’t recommend it any more because the later editions have grown too large and I think intimating for a beginner.
I use a more recent edition of Learning Python (1650 pages!) as a base when I want to raise my iPad stand. So it does still have a use for me. I agree that it’s not the best place to start (especially when you have a deadline).
There’s quite a bit of introductory documentation at python.org including what I’m told is the well-regarded The Python Tutorial.
If you’re just learning Python, you shouldn’t bog yourself down with also learning a new IDE. Use whatever code editor you’re already familiar with. Once you learn Python, then you can experiment with the IDEs.
I went ahead and downloaded and installed it just to see what it was like. It’s actually very much like Android Studio, so much that I felt pretty comfortable with it from the get go. Working my way through some exercises and looking at the code for the projects I need to work on within it.
My only coding is from within the Android Studio IDE or by hand creation of SQLite Queries I run in a Firefox extension that has been deprecated. So I don’t really have any experience with just a standard code editor.
So far the biggest issue I have with Python are the extreme formatting rules. They make a lot of sense in the long run but Java is relatively free form and the last time I had to deal with a position dependent language it was FORTRAN on punch cards! I haven’t had to modify the FORTRAN code I am working with so I’d sort of forgotten all that stuff. Part of the issue is that I’m having to bounce between Java, FORTRAN and Python and get myself confused at times.
This is why I think it’s important for beginners to use something like pycharm or visual studio code as they both come with a linter to catch those pesky formatting rules before your program runs.
PyCharm is what you’re looking. They have free version, it’s enough for most of the work you’ll be doing. The other option – Visual Studio Code with Python extension.
I use both. PyCharm for much longer. I prefer PyCharm, because I never spent enough time configuring VSCode for 100% python workflow.
The equations are to calculate Estimated Breeding Values based on measuring phenotypic characteristics, combined with heritabilities and correlations of those traits to estimate genetic merit of individuals for important commercial traits. The code I am using in FORTRAN does basically use the equivalent of Numpy sorts of routines. Numpy is already used in most of the Python stuff that is close but not quite there.