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

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.


Hi @Angman
I would suggest you start with python for kids


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 @JacobSmall 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!

2 Likes 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