Should I learn Python 2.x or Python 3.x?

Hello.
This is my first post so I apologize if I am in the wrong place. This is also a very basic question so please bear with me. I am a new user of dynamo with no programming experience whatsoever.
I would like to start learning python to get into some more advanced graphs. It is unclear to me whethe I should be learning python 2 or 3. It seems most threads reference python 2 but they are from a while ago. I understand that 2 is more mature but if python3 is the direction things will go I want to be ahead of the curve.

Write now it is unclear to me whether I can even use python 3. Once again this is a question what I should learn; i.e. I do not know coding or python at all so I apologize if what I a am asking makes no real sense.

I’d appreciate any input and thanks in advance.

2 Likes

Hi @Angman
I would suggest you start with python for kids
https://books.google.com/books/about/Python_for_Kids.html?id=Wd_PJ2y68uIC&printsec=frontcover&source=kp_read_button&redir_esc=y

2 Likes

Thanks @Kulkul. I’ll look it up. For kids sounds right up my alley as far as programming is concerned :slight_smile:

The Python used by dynamo is IronPython, which is 2.7 I believe.

Decent app which I have started learning with is ‘Learn Python’ by SoloLearn. Game-ified content and covers the basics well. While it’s based on Python 3 it’s easy enough to go backwards from what I can see.

1 Like

I can only echo @jacob.small comment that Dynamo and in large any other AEC related software that uses Python related functionality has been so far using the IronPython 2.7.x. This has to do with the fact that it’s not really a pure Python, but a .NET flavor of it so they are a few releases behind Python. However, there is no reason to just learn Python 3.x. Your real goal here is that you are looking to start with syntax and some basic list operations. Any beginner level course will give you that, and then from that point on you will figure out the differences between that and the .net Iron Python are. I don’t see why you would have to worry about 3.x vs. 2.x at this point…good luck!

3 Likes

Codecademy.com is also worth a mention. They have a free and easy going python 2 course, which worked excellent for me as an introduction to the syntax :slight_smile:

Thanks everyone for all the input. I’ll start with 3.x and hopefully as I progress I’ll learn the nuances of 2.x, .NET etc.

Great community and much appreciated

Fast forwarding to five years, is dynamo still using Python 2.x or 3.x??
Any answers will be highly appreciated.

Python 2 and Python 3 are both widely used, but Python 3 is the current version and the direction in which the language is evolving. Therefore, it’s recommended to start learning Python 3 to stay up-to-date with the latest features and best practices.

This thread has been necro’d a few too many times and we have more up to date resources on this topic such as past announcements from the Dynamo developer team. Please don’t revive threads to promote a paid course.

For anyone’s future reference this is a good (if a bit old) summary of Python3 in the context of the shift:

Thread closed.

1 Like