Фото від 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
.
- Створіть віртуальне середовище:
python -m venv myenv
- Активуйте середовище:
• На Windows:
myenv\Scripts\activate
• На macOS/Linux:
source myenv/bin/activate
- Встановіть залежності:
pip install flask
- Збережіть залежності у файл вимог:
pip freeze > requirements.txt
- Встановіть залежності з файлу вимог:
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