Python для розробників JavaScript

pic

Фото від MW на Unsplash

Якщо ви є JavaScript розробником і хочете почати вивчати Python, цей посібник допоможе вам швидко розібратися, порівнюючи JavaScript з Python. Ми почнемо з основ ініціалізації проєкту та управління залежностями, а потім розглянемо еквіваленти Python для поширених функцій JavaScript з практичними прикладами коду.

1. Ініціалізація проєкту: npm vs. pip

JavaScript (npm)

У JavaScript ви ініціалізуєте проєкт за допомогою npm init, а залежності встановлюєте за допомогою npm install. Наприклад:

npm init -y  
npm install express

Python (pip)

У Python для керування залежностями використовується pip, а для створення ізольованих середовищ — virtualenv.

  1. Створіть віртуальне середовище:
python -m venv myenv
  1. Активуйте середовище:

• На Windows:

myenv\Scripts\activate

• На macOS/Linux:

source myenv/bin/activate
  1. Встановіть залежності:
pip install flask
  1. Збережіть залежності у файл вимог:
pip freeze > requirements.txt
  1. Встановіть залежності з файлу вимог:
pip install -r requirements.txt

2. Основні відмінності синтаксису

Hello, World!

JavaScript:

console.log("Hello, World!");

Python:

print("Hello, World!")

3. Змінні та типи даних

JavaScript:

let name = "Onur";  
let age = 38;  
let isDeveloper = true;

Python:

name = "Onur"  
age = 30  
is_developer = True

4. Функції

JavaScript:

function greet(name) {  
 return `Hello, ${name}`;  
}  
console.log(greet("Onur"));

Python:

def greet(name):  
 return f"Hello, {name}"  
print(greet("Onur"))

5. Стрілкові функції

Python не має стрілкових функцій, але ви можете використовувати lambda для коротких анонімних функцій.

JavaScript:

const add = (a, b) => a + b;  
console.log(add(2, 3));

Python:

add = lambda a, b: a + b  
print(add(2, 3))

6. Цикли

JavaScript (for loop):

for (let i = 0; i < 5; i++) {  
 console.log(i);  
}

Python (for loop):

for i in range(5):  
 print(i)

7. Масиви vs. Списки

JavaScript (Array):

const fruits = ["apple", "banana", "cherry"];  
console.log(fruits[1]);

Python (List):

fruits = ["apple", "banana", "cherry"]  
print(fruits[1])

8. Об'єкти vs. Словники

JavaScript (Object):

const person = { name: "Onur", age: 30 };  
console.log(person.name);

Python (Dictionary):

person = {"name": "Onur", "age": 30}  
print(person["name"])

9. Проміси vs. Async/Await

JavaScript:

const fetchData = async () => {  
 const data = await fetch("https://api.example.com");  
 console.log(await data.json());  
};  
fetchData();

Python:

import asyncio  
import aiohttp  

async def fetch_data():  
 async with aiohttp.ClientSession() as session:  
 async with session.get("https://api.example.com") as response:  
 print(await response.json())  
asyncio.run(fetch_data())

10. Поширені функції JavaScript та їх Python еквіваленти

JavaScript — — — — — — — — — — — — — -Python

Math.max(1, 2, 3) -> max(1, 2, 3)  
Math.min(1, 2, 3) -> min(1, 2, 3)  
arr.map(x => x * 2) -> [x * 2 for x in arr]  
arr.filter(x => x > 2) -> [x for x in arr if x > 2]  
arr.reduce((a, b) => a + b) -> sum(arr)  
setTimeout(() => {}, 1000) -> import time; time.sleep(1)  
JSON.stringify(obj) -> import json; json.dumps(obj)  
JSON.parse(str) -> import json; json.loads(str)

## Обробка файлів

**JavaScript:**

const fs = require("fs");

fs.writeFileSync("example.txt", "Hello, World!");
const content = fs.readFileSync("example.txt", "utf8");
console.log(content);
```

Python:

with open("example.txt", "w") as file:  
 file.write("Hello, World!")  

with open("example.txt", "r") as file:  
 content = file.read()  
 print(content)

12. Бонус

Приклад Flask додатка:

from flask import Flask  

app = Flask(__name__)  

@app.route("/")  
def home():  
 return "Hello, World!"  

if __name__ == "__main__":  
 app.run(debug=True)

Висновок

Цей посібник ознайомив вас з основними відмінностями та подібностями між JavaScript та Python, допомагаючи ефективно використати ваші наявні знання JavaScript для вивчення Python. Почніть експериментувати з Python, створюючи невеликі проєкти, і ви побачите, що це універсальна та потужна мова для різних задач.

Перекладено з: Python for JavaScript Developers

Leave a Reply

Your email address will not be published. Required fields are marked *