DEV Community

D
D

Posted on

A Simple Cheat Sheet for JavaScript Developers Transitioning to Python

As a developer coming from a JavaScript background, I've found it challenging to adjust to Python's syntax and structure. The differences, especially the lack of curly braces and reliance on indentation, can be confusing.

To make my transition smoother, I created this cheat sheet comparing common JavaScript and Python syntax. It serves as a quick reference to help navigate the key differences and similarities between the two languages.

I hope this resource will make it easier for anyone else facing the same challenges in learning Python.

Concept JavaScript Python
Variable Declaration let x = 10; x = 10
Data Types String, Number, Boolean, Object, Array str, int, float, bool, list, dict
Function Definition function myFunc() {} def my_func():
Function Call myFunc(); my_func()
Conditional Statements if (x > 10) {} if x > 10:
Loops for (let i = 0; i < 5; i++) {} for i in range(5):
While Loop while (x < 10) {} while x < 10:
Array/List let arr = [1, 2, 3]; arr = [1, 2, 3]
Object/Dictionary let obj = { key: 'value' }; obj = {'key': 'value'}
Accessing Elements arr[0], obj.key arr[0], obj['key']
String Concatenation let str = 'Hello ' + 'World'; str = 'Hello ' + 'World'
Template Literals `Hello ${name}` f'Hello {name}'
Comments // This is a comment # This is a comment
Exception Handling try { } catch (e) { } try: ... except Exception as e:
Importing Modules import { myFunc } from './module'; from module import my_func
Class Definition class MyClass {} class MyClass:
Class Instantiation let obj = new MyClass(); obj = MyClass()
Arrow Functions const myFunc = () => {} my_func = lambda: ...
Boolean Logic &&, ||, ! and, or, not

Indentation vs. Curly Braces

JavaScript:

function greet(name) {
    if (name) {
        console.log("Hello, " + name + "!");
    } else {
        console.log("Hello, World!");
    }
}
greet("Alice");
Enter fullscreen mode Exit fullscreen mode

Python:

def greet(name):
    if name:
        print("Hello, " + name + "!")
    else:
        print("Hello, World!")

greet("Alice")
Enter fullscreen mode Exit fullscreen mode

Whitespace Sensitivity

JavaScript:

if (true) {
    console.log("This is true.");
} else {
    console.log("This is false.");
}
Enter fullscreen mode Exit fullscreen mode

Python:

if True:
    print("This is true.")
else:
    print("This is false.")
Enter fullscreen mode Exit fullscreen mode

In Python, if you accidentally use inconsistent indentation, you will get an IndentationError:

if True:
    print("This is true.")
     print("This will cause an error.")  # Incorrect indentation
Enter fullscreen mode Exit fullscreen mode

Data Structures

Javascript

// Array
let fruits = ["apple", "banana", "cherry"];

// Object
let person = {
    name: "Alice",
    age: 30,
    isStudent: false
};

// Set
let uniqueNumbers = new Set([1, 2, 3, 1, 2]);
Enter fullscreen mode Exit fullscreen mode

Python

# List
fruits = ["apple", "banana", "cherry"]

# Dictionary
person = {
    "name": "Alice",
    "age": 30,
    "is_student": False
}

# Set
unique_numbers = {1, 2, 3, 1, 2}
Enter fullscreen mode Exit fullscreen mode

Function Definitions

JavaScript

// Function Declaration
function add(a, b) {
    return a + b;
}

// Arrow Function
const multiply = (a, b) => a * b;
Enter fullscreen mode Exit fullscreen mode

Python

# Function Definition
def add(a, b):
    return a + b---
---
# Lambda Function
multiply = lambda a, b: a * b
Enter fullscreen mode Exit fullscreen mode

Error Handling

JavaScript

try {
    let result = riskyFunction();
} catch (error) {
    console.error("An error occurred:", error);
}
Enter fullscreen mode Exit fullscreen mode

Python

try:
    result = risky_function()
except Exception as e:
    print("An error occurred:", e)
Enter fullscreen mode Exit fullscreen mode

Modules and Packages

JavaScript

// Importing a module in Node.js
const fs = require('fs');

// Using ES6 module syntax
import { readFile } from 'fs';
Enter fullscreen mode Exit fullscreen mode

Python

# Importing a module
import math

# Using a specific function from a module
from math import sqrt
Enter fullscreen mode Exit fullscreen mode

Type System

JavaScript

// Dynamically typed
let value = 42; // number
value = "Hello"; // string
Enter fullscreen mode Exit fullscreen mode

Python

# Dynamically typed
value = 42  # int
value = "Hello"  # str

Enter fullscreen mode Exit fullscreen mode

If you have any suggestions or additional comparisons that could improve this cheat sheet, please feel free to share your thoughts in the comments.

Thank you for reading!

Top comments (1)

Collapse
 
jankapunkt profile image
Jan Küster 🔥

One more thing: don't expect python modules to work like js modules or it will drive you mad haha