Home » What are the Main Differences Between Python and JavaScript

What are the Main Differences Between Python and JavaScript

by Fahid Safdar
Differences Between Python and JavaScript

If you want to understand the difference between Python and JavaScript, then this article is for you.

These two languages ​​are very popular and powerful, but there are key differences between them, and we will introduce them in detail here.

In this article, you will learn:

  • Different applications of Python and JavaScript in the real world.
  • The key syntax and functional differences between Python and JavaScript.

let us begin! 

Python VS JavaScript: Practical application

We will start with a quick overview of their actual applications.


Due to its powerful functions and versatility, Python has become an indispensable tool in almost every scientific application in the world. It’s a general-purpose programming language that supports different programming paradigms.

Widely used in scientific and professional applications, including data science, artificial intelligence, machine learning, computer science education, computer vision and image processing, medicine, biology and even astronomy.

Used for web development, and this is where we can start comparing its applications with JavaScript applications. Python is used for back-end development, which is the field of web development, responsible for creating elements invisible to users, such as the server side of the application.


Although Python can be used to develop the back-end part of a web application, JavaScript can be used to develop the back-end and front-end of the application.

The front end is the part of the application that the user sees and interacts with. Whenever you see or interact with a website or web application, you use JavaScript “behind the scenes.”

Similarly, when you interact with mobile applications, you may use JavaScript, because frameworks like React Native allow us to write applications that adapt to different platforms.

JavaScript is so widely used in web development because it is a multi-functional language that provides us with the tools needed to develop web application components.

Differences between Python and JavaScript applications

In short, developers use Python for a range of scientific applications. They use JavaScript for web development, user-oriented functions and servers.

Python VS JavaScript: syntax

Now that you know their purpose, let’s see how they are written and their syntax differences.

We will discuss their differences in the main elements:

  • Code block
  • Variable definitions
  • Variable naming convention
  • constant
  • Data type and value
  • Comment
  • Built-in data structure
  • Operator
  • input Output
  • Conditional statements
  • For loop and while loop
  • function
  • Object-Oriented Programming

Code blocks in Python and JavaScript

Each programming language has its own style to define code blocks, let us see the difference between them in Python and JavaScript:

How Python defines code blocks

Python relies on indentation to define code blocks. When a series of consecutive lines of code are indented at the same level, they are considered part of the same code block.

We use it to define conditions, functions, loops, and basically every compound statement in Python.

These are some examples:

???? Hint: Later, we will see the specific differences between these elements in Python and JavaScript. For now, please pay attention to the indentation.

How JavaScript defines code blocks

In contrast, in JavaScript, we use curly braces ( {}) to group statements that belong to the same code block.

These are some examples:

Use Curly Burses

Variable definitions in Python and JavaScript

Assignment statements are one of the most basic statements in any programming language. Let’s see how to define variables in Python and JavaScript.

How to define variables in Python

To define a variable in Python, we have to write out the name of the variable, followed by an equal sign ( =) and the value that will be assigned to the variable.

like this:

<variable_name> = <value>


x = 5

How to define variables in JavaScript

The syntax is very similar in JavaScript, but we just need to add a keyword before the variable name varand a semicolon ( ;) to the end.

like this:

var <variable_name> = <value>;


var x = 5;

We can also use keywords let:

let <variable_name> = <value>;


let x = 5;

???? Tip: In this case, when we use let, the variable will have block scope. It will only be recognized in the code block where it is defined.

???? Tip: In JavaScript, the end of a statement 

;is marked with a semicolon ( ), but in Python, we only need to start with a new line to mark the end of the statement.

Variable naming conventions in Python and JavaScript

Python and JavaScript follow two different variable naming conventions.

How to name variables in Python

In Python, we should use a snake_casenamed style.

According to the Python style guide:Variable names and function names follow the same convention.

Function names should be lowercase, and if necessary, use underscores to separate words to improve readability.

Therefore, typical variable names in Python are as follows:


???? Tip: The style guide also mentions: “It is only allowed in the context of mainstream styles 

mixedCaseto maintain backward compatibility.”

How to name variables in JavaScript

Instead, we should use in JavaScript lowerCamelCasenaming style names that begin with a lowercase letter, then each new word beginning with a capital letter.

According to the JavaScript guidelines article of the MDN Web document:For variable names, please use lowerCamelCasing, and use concise, easy-to-read semantic names where appropriate.

Therefore, a typical variable name in JavaScript should look like this:


Constants in Python and JavaScript

Great. Now that you have a better understanding of variables, let’s talk about constants, which are values ​​that cannot be changed during program execution.

How to define constants in Python

In Python, we rely on naming conventions to define constants, because there are no strict rules in the language to prevent their values ​​from being changed.

According to the Python style guide:Constants are usually defined at the module level and 

written in all capital letters, with underscores separating words .

This is the naming method we use to define constants in Python:




???? Tip: This is a red warning for ourselves and other developers, indicating that this value should not be modified in the program. But technically, the value can still be modified.

How to define constants in JavaScript

On the contrary, in JavaScript, we can define constants that cannot be changed in the program, and cannot reassign variable identifiers.

But this does not mean that the value itself cannot be changed.

According to MDN Web document constarticle:

constThe declaration creates a read-only reference to the value. This does not mean that the value it holds is immutable-it just cannot reassign variable identifiers. For example, in the case where the content is an object, this means that the content of the object (for example, its attributes) can be changed.

To define constants in JavaScript, we add keywords before the variable name const:


If you try to change the value of a constant, you will see this error:

Therefore, the value cannot be changed.

???? Tip: To run and test small fragments of JavaScript code, you can use the console in Chrome Developer Tools.

Data types and values ​​in Python and JavaScript

Let’s look at the main differences between Python and JavaScript data types.

Numeric data type

Python has three numeric types that can help us perform precise calculations for scientific purposes. These numeric types include: int(integer), float(floating point), and complex(complex). They all have their own attributes, characteristics and applications.

In contrast, JavaScript are only two types of numbers: Numberand BigInt, integer and floating-point numbers are considered Numbertype.

According to the Number article in MDN Web Docs:JavaScript code like 

37this digital text is a floating-point values instead of integers. There is no separate integer type in daily use. (JavaScript now has the 

BigInt type, but it is not intended to replace Number for daily use. It 

37is still Number, not BigInt.)

None vs. null

In Python , there is a special value None, we usually use it to indicate that a variable has no value at a specific position in the program.

The equivalent value in JavaScript is null“indicating that any object value is intentionally missing”.

None vs Null

undefined value

In JavaScript , we have a special value, which is automatically assigned when we declare a variable without assigning an initial value.

This is an example:


As you can see, the variable xvalue is undefined.

In Python , you must assign an initial value to a variable, you cannot declare it without an initial value.

???? Tip: you can in the Python 

None distribution for the initial value of the variable to represent the missing value.

Primitive data types in Python and JavaScript

Primitive data types represent the most basic values ​​we can use in programming languages. Let us compare the primitive data types of these two languages:

  • Python has four primitive data types: integer ( int), floating point ( float), boolean ( bool), and string ( str).
  • JavaScript has six primitive data types: undefined ( undefined), boolean ( Boolean), string ( String), number ( Number), BigInt, and symbol ( Symbol).

How to write comments in Python and JavaScript

Comments are very important for writing concise and readable code. Let’s see how to use them in Python and JavaScript:

Single line comment

  • In Python , we use the pound sign ( ) to write comments, and all characters on the same line after the symbol are regarded as part of the comment.
  • In JavaScript , we write two slashes ( //) to start a single-line comment.

This is a graphical example:


In Python:

# Comment

In JavaScript:

// Comment

Multi-line comments

  • In Python , to write multi-line comments, we start each line with a hashtag.
  • In JavaScript , a multi-line comments to /*begin with, and at */the end, all the characters between these symbols are considered part of the comment.
Multi-line comments

In Python:

# Multi-line comment 
# in Python to explain
# the code in detail.

In JavaScript:

Multi-line comment 
in JavaScript to explain 
the code in detail.

Built-in data structures in Python and JavaScript

There are also key differences between the built-in data structures in Python and JavaScript.


  • In Python , we have called a tuplebuilt-in data structures, it is very similar to the list, but immutable. Therefore, it cannot be changed during program execution, so it is used to store data that should not be modified.
  • In JavaScript , there is no built-in data structure with these characteristics, although you can use certain features of the language to implement similar data structures.

Lists vs. Arrays

  • In Python , lists are used to store a series of values ​​in the same data structure. It can be modified, indexed, sliced ​​and used in the program.
  • In JavaScript , the equivalent version of this data structure is called array .

This is an example:

Hash Tables

  • In Python , there is a built-in data structure called a dictionary that helps us map some values ​​to other values ​​and create key-value pairs, which can be used as a hash table.
  • JavaScript does not have this type of built-in data structure, but there are certain ways to use certain elements of the language to reproduce its functionality.

Operators in Python and JavaScript

Operators are essential for writing expressions in any programming language, let us see the main differences between them in Python and JavaScript.

Divide down

Although most arithmetic operators work exactly the same in Python and JavaScript, the round-down operator is slightly different.

  • In Python , the base division operation (also known as “integer division”) is represented by a double slash ( //).
  • In JavaScript , we don’t have a specific round-down operator. Instead, we call the Math.floor()method will result rounded to the nearest whole number.

Compare value and type

In Python , we use the ==operator compares two values are equal and their data types.


# Comparing Two Integers
>>> 0 == 0     
# Comparing Integer to String
>>> 0 == "0"

In JavaScript , we also have this operator, but it works slightly differently because it converts two objects to the same type before actually performing the comparison.

If we use the JavaScript ( 0 == '0') to check on the results of a comparison example of the “integer string”, the result is Truenot False, because before the comparison value into the same data type:

In JavaScript, to check whether the value and the data type are equal, we need to use this operator ===(triple equal sign).

Now we get the expected result:

Great, right?

???? Tip: Python in 

==operator works similarly in JavaScript 


Logical Operators

  • In Python , the three logical operators andare: , or, and not.
  • In JavaScript , these operators &&are: , ||, and .

Type operator

  • In Python , we should check the type of object, we use the type()function.
  • In JavaScript , we use typeofoperators.

This is a graphical description of their syntax:

Python and JavaScript input and output

Asking for user input and displaying the value to the user is a very common operation, let’s see how to do this with Python and JavaScript:


  • In Python , we use the input()function to request user input, we will write a message in parentheses.
  • In JavaScript, an alternative (if the code running on the browsing device) is shown with window.prompt(message)tips, and assigned to the variable result.

The main difference between the two methods is that in Python, the user will be prompted to enter a value in the console, while in JavaScript, a small prompt will be displayed on the browser, which will ask the user to enter a value.

???? Tip: You will see the following input values ​​in the Python console:

In JavaScript, if you open the Chrome Developer tool and enter the following line of code in the console:

This prompt will display:


  • In Python , we use print()function value printed to the console, and pass the value in parentheses.
  • In JavaScript , we use console.log()the value printed to the console, and pass the value in parentheses.

???? Tip: If you are using a browser, you can also call 

alert()to show a little prompt, and deliver the message (or value) in parentheses.

Conditional statements in Python and JavaScript

Conditions of use, we can be based on specific criteria Trueor Falseselect what happened in the program, let’s look at the difference between them in Python and JavaScript.

if statement

  • In Python , we rely on indentation to indicate which lines of code are conditional codes.
  • In JavaScript , the condition must be enclosed in parentheses, the code must be enclosed in curly braces, and the code should also be indented.

if/else statement

The else clauses in the two languages ​​are very similar, the only difference is:

  • In Python , we have in elsewriting a colon after keywords ( :)
  • In JavaScript , we use curly braces ( {}) to enclose the code that belongs to this clause.

Multiple conditions

To write multiple conditions:

  • In Python , we write the keyword eliffollowed by the condition. After the condition, we write a colon ( :) and indent the code on the next line.
  • In JavaScript , if after the condition (surrounded by parentheses), we will write keywords else if. After the condition is complete, we write curly braces and indent the code within the brackets.

Switch in JavaScript

  • In JavaScript , we have an additional control structure that can be used to select what to happen based on the value of the expression, the statement is called switch.
  • Python does not have this type of built-in control structure.

This is the general syntax of the statement:

In JavaScript:

switch (expression) {
  case value1:
    // Code
  case value2:
    // Code
  case value3:
    // Code
    // Code

???? Tip: We can add as many cases as needed, and the expression can be a variable.

For loop and while loop in Python and JavaScript

Now let us see how to define different types of loops in Python and JavaScript and their main differences.

For loop

The syntax for defining a for loop in Python is relatively simpler than that in JavaScript.

  • In Python , we write the keyword forfollowed by the name of the loop variable, keywords, inand to range()call a function to specify the necessary parameters. Then, we write a colon ( :) followed by the indented loop body.
  • In JavaScript , we must explicitly specify several values. We forbegin with a keyword, followed by parentheses, within these brackets, we define the loop variable and its initial value, must be Falsethe condition to stop the cycle, and how to update the variables in each iteration. Then, write the curly braces to create a code block, and then write the indented loop body inside the curly braces.

Iterate over iterable objects

We can use for loops in Python and JavaScript to iterate over iterable elements.

  • In Python , we write keywords for, followed by loop variables, inkeywords and iterable. Then, we write a colon ( :) and the loop body (indent).
  • In JavaScript , we can use for .. ofcycle. Let’s write forkeyword, followed by parentheses, and then within these brackets, write keyword varfollowed by the loop variable, keyword ofand iterable. We use curly braces to enclose the body of the loop, and then indent it.

In JavaScript, we have a for .. incycle to cycle property to access the object.

According to the MDN Web document:

for ... in The statement iterates all enumerable properties of the object (including inherited enumerable properties), which are typed by strings (the properties typed by Symbol are ignored).

This is an example:

const object = { a: 1, b: 2, c: 3 };

for (const property in object) {
  console.log(property, object[property]);

When we run this code in the console of Chrome Developer Tools, the output is:

While loop

While loops are very similar in Python and JavaScript.

  • In Python , we first write whilekey words, followed by the condition, a colon ( :), and write a loop on a new line (indentation).
  • In JavaScript , the syntax is very similar. The difference is that we must use parentheses to enclose the condition and curly braces to enclose the body of the loop.

The do..while loop in JavaScript

In JavaScript, we also have a loop type that does not exist in Python.

This cycle is called do..whilethe cycle, because it performs at least one operation, and the condition Truecontinues to operate.

This is the basic syntax:

do {
  // Code
} while (condition);

???? Hint: This type of loop guarantees that the code will be executed at least once.

This is particularly useful when we ask the user for input, because the user will be prompted for input. If the input is valid, we can continue the procedure. But if it is invalid, we can prompt the user to enter the value again until it is valid.

Functions in Python and JavaScript

Functions are very important for writing concise, maintainable, and readable programs. The syntax is very similar in Python and JavaScript, but let’s analyze their main differences:

  • In Python , we write keywords def, followed by the function name, and in parentheses in the parameter list. After this list, we write a colon ( :) and the function body (indent).
  • In JavaScript , the only difference is that we use the functionkeyword to define a function, and braces enclose the body of the function.

Also there is a very important difference between Python and JavaScript functions: function parameters .

In Python , the number of parameters passed to the function call must match the number of parameters defined in the function definition. If this is not the case, an exception will occur.

This is an example:

>>> def foo(x, y):
    print(x, y)

>>> foo(3, 4, 5)
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    foo(3, 4, 5)
TypeError: foo() takes 2 positional arguments but 3 were given

In JavaScript , this is not necessary because the parameters are optional. You can call a function with fewer or more parameters than those defined in the function definition. By default, the parameter assignment to the missing undefinedvalues, and may use argumentsan object access to other parameters.

This is an example in JavaScript:

Note how to call the function with three parameters, but the parameter list of the function definition contains only two parameters.

???? Tip: To get the number of parameters passed to the function, you can use it in the function 


Object-oriented programming using Python and JavaScript

Both Python and JavaScript support object-oriented programming, so let’s see how to create and use the main elements of this programming paradigm.


The first line of the class definition is very similar in Python and JavaScript. We write keywords class, followed by the name of the class.

The only difference is:

  • In Python , after the class name, we write a colon ( :)
  • In JavaScript , we {}surround the content of the class with curly braces ( )

???? Tip: In Python and JavaScript, the class name should start with a capital letter, and each word should also start with a capital letter.

Constructor and attributes

The constructor is a special method, which is called when a new instance (new object) of the class is created. Its main purpose is to initialize the properties of the instance.

  • In Python , the constructor used to initialize a new instance is called init(with two leading underscores and trailing underscores). This method will be called automatically when creating an instance of the class to initialize its properties. Parameter list which defines the value that must be passed to create an instance of the list selfas the first argument string.
  • In JavaScript , a constructor method called constructorfunction, it has a list of parameters.

???? Tip: In Python, we used 

(self) to refer to instances in JavaScript, we used 

this refer to an instance.

To assign values ​​to attributes in Python , we use the following syntax:

self.attribute = value

Instead, we use the following syntax in JavaScript :

this.attribute = value;

Methods in Python and JavaScript

In Python , we use defkeyword definition method, followed by their name and parameter list in parentheses. This parameter list to selfthe beginning of the argument to refer to an instance that is calling the method. After this list, we write a colon ( :) and indent the body of the method.

This is an example:

class Circle:

    def __init__(self, radius, color):
        self.radius = radius
        self.color = color

    def calc_diameter(self):
        return self.radius * 2

In JavaScript , methods are defined by writing a name, followed by a parameter list and curly braces. Inside the curly braces, we write the body of the method.

class Circle {

  constructor(radius, color) {
    this.radius = radius;
    this.color = color;

  calcDiameter() {
    return this.radius * 2;


To create an instance of the class:

  • In Python, we write the name of the class and pass the parameters in parenthesesmy_circle = Circle(5, "Red")
  • In JavaScript, we need to add the class name before the newkeyword.my_circle = new Circle(5, "Red");

To Sum Up

Python and JavaScript are powerful languages ​​with different practical applications.

Python can be used for web development and a wide range of applications, including scientific purposes. JavaScript is mainly used for web development (front-end and back-end) and mobile application development.

They have important differences, but they all have the same basic elements that we need to write powerful programs.

I hope you like this article and find it helpful to you. Now you know the main difference between Python and JavaScript.

You may also like