Why python is a dynamically typed language?
People use the term strongly-typed language, referring to a language that is both statically typed. It’s worth noting that the types are associated with a variable declaration. The compiler can tell what type a variable refers to, through type inference, without executing the program. Also, it is strongly-typed. When it comes to dynamic typing and strong-typing as orthogonal concepts, it can be said that Python can be both dynamically and strongly typed.
Also Check : Python Course in Delhi
Interpreter keeps track of all variable types
Python is strongly typed, and the inference is that the interpreter keeps track of all variable types. Python is dynamic and rarely uses what it knows to limit variable usage. The program must use built-in functions like isinstance() and issubclass() for testing variable types and correct usage. Python tries staying out of your way while suggesting the plans needed to implement strong type checking.
Weakly typed language exhibits the condition that a compiler/interpreter will change the type of a variable. In some languages (like JavaScript), there will be a possibility to add strings to numbers ‘x’ + 3 becomes ‘x3’. However, this turns out to be a problem because when there’s a mistake in your program, variables have wrong and unexpected values instead of raising an exceptional execution. Strongly typed language (like Python) exhibits that you can’t perform operations inappropriate to the type of object. You will have to get started with attempting to add numbers to strings. But, the consequence will be that you will fail in your attempt. It’s easier to diagnose these problems because the exception is raised where the error occurs rather than at some other.
Must Visit: Best Web Designing Course in Gurgaon
The scenario of the statically typed language
statically typed language presents the scenario that there is a need to know the type of variables at the point it is used. Dynamically typed language presents a scenario where the objects still have a type but gets determined at runtime. Bind names (variables) to different objects, and for that, you will get the different types.
Strongly typed language doesn’t allow you to do anything incompatible with the type of data you’re working with. Strings support concatenation.
On the other hand, in the strongly-typed language, you won’t get a defined way to “add” strings and numbers to each other.
Weakly typed language presents the characteristics that the compiler or interpreter can perform behind-the-scenes conversions. Strongly typed language lets you trust what’s going on. In case there is something that has gone wrong, the program will generate a type error telling you where you went wrong. You can rest assured that you don’t have to memorize many arcane type-conversion rules.
Dynamically typed language lets a variable be simply a value bound to a name. In this case, the value has a type — like “integer” or “string” or “list.” statically typed languages will ask you to write out the types of all your variables. On the other hand, some will deduce them for you automatically. Programmers in dynamic languages follow the principle of testing suites to catch errors rather than using a dedicated type-checking compiler.
Final words
The reason why python is a dynamically typed language will be clear when you take into consideration the advanced training course from a reputed institution like SSDN Technologies. Over the years, it has become the pioneer in offering a range of courses associated with Python making it easier for you to understand the core concepts.
source: http://www.apsense.com/article/why-python-is-a-dynamically-typed-language.html