My first objective to provide working knowledge of Python with a simplified and a practical approach. This is the reason , I am comparing it with well known programming language C.
Please install Python from this before proceeding further. I will refer to C as well for better understanding of Python. I had discussed about use of Eclipse IDE for practice in C .
Why version matters ?
The latest C standard has seen many changes since 1978. The history provides a summary about features of original K & R , ANSI C, C89 or C90 , C95, C99, C11 and C18 . If you observe some unexpected result or error, verify Python version. Similarly take a note of Python version being discussed , If some feature discussed is missing in your installation. Latest versions should have backward compatibility.
Same thing applies to Python as well. Python major version differences are described here. I am using python 3.6.6
C Keywords snapshot from WiKi
What is the size of int 2 bytes or 4 bytes ?
Please refer to Type Layout of AVR ABI for various data type sizes to be used in C programming of AVR based devices. The C/C++ data type int is defined as 2 bytes. You may find data type detail of ARM architecture here . The C/C++ data type int is mapped to signed word of 4 bytes. It is generally 4 bytes in 32/64 bit systems.
- Array defines multiple data elements of same type: Ex int marks
- struct defines multiple data elements of different types:
- In C++ , struct or class can define multiple data elements of different types along with function. class provides many other features such as Inheritance, Polymorphism, Abstraction,Encapsulation etc. The instance of a class is called object and so C++ is called OOPS (Object Oriented Programming System).
If you compare keyword in C and Python, one major change is absence of data types. That is the main reason for popularity of Python in non-programming background professionals. So data memory management is being taken care automatically by Interpreter.
Identifier: User defined names for variables,functions,structure etc
Both C and Python have rules to define valid identifier. A sequence of digits and letters can form a valid identifier provided it is not part of Keywords list. It can also has _ symbol. In C, If you may validate this during compilation. However in Python, there is no offline compilation so you can verify this in two parts :
- Is the defined name a keyword ? If False then do second step
- Is the defined name a valid Identifier ?
Variable : Storage with a symbolic name (Identifier)
In C, You must declare a variable before use.
- int count ;
In Python, You must initialize a variable before use. Variables are actually objects here and data type is dynamic.
>>> myvar='temp' >>> type(myvar) <class 'str'> >>> myvar=21 >>> type(myvar) <class 'int'>
C allocates a memory location to a variable but Python allocates unique ID to object for its lifetime. This ID is for internal purpose of Interpreter.
>>> temp=1 >>> id(temp) 1654680608 >>> temp=2.5 >>> id(temp) 2073498030344 >>> id(1) 1654680608 >>> id(2.5) 2073498030368 >>> type(temp) <class 'float'>
I have discussed this at Getting started with Python .
Thanks for reading till end. I am trying to improve usability of my site. Did you find this discussion helpful ? If so, Please subscribe to YouTube channel Embedkari as well for additional embedded related stuff.