惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
M
MIT News - Artificial intelligence
博客园 - Franky
J
Java Code Geeks
V
Visual Studio Blog
G
Google Developers Blog
罗磊的独立博客
MongoDB | Blog
MongoDB | Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Recent Announcements
Recent Announcements
Last Week in AI
Last Week in AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog
博客园 - 司徒正美
The GitHub Blog
The GitHub Blog
腾讯CDC
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
博客园 - 【当耐特】
IT之家
IT之家
I
InfoQ
U
Unit 42
C
Check Point Blog
Martin Fowler
Martin Fowler

博客园 - {前端开发}

[转] 记sublime配置typescript开发环境(插件和编译)的二三事 数组变异方法和非变异方法的总结 【js】数组的几个常用方法 [转] 十分钟掌握Seaborn,进阶Python数据可视化分析 [转] vue v-model的详细讲解(推荐!) [转]Vue中computed用法 [转] nginx关于root与alias的区别 结合项目来谈谈 Puppeteer [转] 详解谷歌浏览器 performance 选项卡 First Meaningful Paint 首次有效绘制时间 [转] 前端装饰器模式快闪 [转] HTTP Referer 教程 [转] 一文读懂 HTTP/2 特性 [转] 前端之DOM解析和渲染与CSS、JS之间的关系 [转] 浏览器渲染原理与过程 [转] CSS 解析原理_你知道浏览器CSS是如何解析吗? [转] [转] 使用webpack4提升180%编译速度 [转] 默认分包策略
Python vs JavaScript 对比
{前端开发} · 2026-03-18 · via 博客园 - {前端开发}

Python vs JavaScript 对比

1️⃣ 变量定义

# Python
name = "A股量化"
price = 100.5
is_up = True
stocks = ["茅台", "宁德", "比亚迪"]
// JavaScript
let name = "A股量化";
let price = 100.5;
let isUp = true;          // JS推荐驼峰命名
let stocks = ["茅台", "宁德", "比亚迪"];

区别: Python用 True/False,JS用 true/false


2️⃣ 列表/数组操作

# Python - 列表
stocks = ["茅台", "宁德", "比亚迪"]

# 添加
stocks.append("光伏")

# 遍历
for stock in stocks:
    print(stock)

# 切片
print(stocks[0:2])  # 前2个
// JavaScript - 数组
let stocks = ["茅台", "宁德", "比亚迪"];

// 添加
stocks.push("光伏");

// 遍历
stocks.forEach(stock => {
    console.log(stock);
});

// 切片
console.log(stocks.slice(0, 2));  // 前2个

区别: Python用 for in,JS用 forEach 或 for of


3️⃣ 字典/对象

# Python - 字典
stock = {
    "code": "600519",
    "name": "贵州茅台",
    "price": 1800.0,
    "change": 2.5
}

print(stock["name"])
stock["volume"] = 10000
// JavaScript - 对象
let stock = {
    code: "600519",
    name: "贵州茅台",
    price: 1800.0,
    change: 2.5
};

console.log(stock.name);      // 点语法
stock.volume = 10000;         // 添加属性

区别: Python用 dict["key"],JS用 obj.key 或 obj["key"]


4️⃣ 函数定义

# Python
def calculate_return(buy_price, sell_price):
    """计算收益率"""
    return (sell_price - buy_price) / buy_price * 100

result = calculate_return(100, 110)
print(f"收益率: {result:.2f}%")
// JavaScript
function calculateReturn(buyPrice, sellPrice) {
    // 计算收益率
    return (sellPrice - buyPrice) / buyPrice * 100;
}

let result = calculateReturn(100, 110);
console.log(`收益率: ${result.toFixed(2)}%`);

区别: Python用 def,JS用 function;Python用 :, JS用 {}


5️⃣ 类定义

# Python
class Stock:
    def __init__(self, code, name, price):
        self.code = code
        self.name = name
        self.price = price
    
    def get_info(self):
        return f"{self.code} - {self.name}: {self.price}"

# 使用
stock = Stock("600519", "茅台", 1800)
print(stock.get_info())
// JavaScript - ES6 class
class Stock {
    constructor(code, name, price) {
        this.code = code;
        this.name = name;
        this.price = price;
    }
    
    getInfo() {
        return `${this.code} - ${this.name}: ${this.price}`;
    }
}

// 使用
let stock = new Stock("600519", "茅台", 1800);
console.log(stock.getInfo());

6️⃣ 条件判断

# Python
price = 100
if price > 110:
    print("卖点到了")
elif price < 90:
    print("买点到了")
else:
    print("持有观望")
// JavaScript
let price = 100;
if (price > 110) {
    console.log("卖点到了");
} else if (price < 90) {
    console.log("买点到了");
} else {
    console.log("持有观望");
}

区别: Python用 elif,JS用 else if


7️⃣ 循环

# Python - for循环
for i in range(5):
    print(i)  # 0,1,2,3,4

# while循环
count = 0
while count < 3:
    print(count)
    count += 1
// JavaScript - for循环
for (let i = 0; i < 5; i++) {
    console.log(i);  // 0,1,2,3,4
}

// while循环
let count = 0;
while (count < 3) {
    console.log(count);
    count++;
}

8️⃣ HTTP请求(获取行情)

# Python - requests库
import requests

url = "https://api.example.com/stock/600519"
response = requests.get(url)
data = response.json()
print(data["price"])
// JavaScript - fetch API
let url = "https://api.example.com/stock/600519";
fetch(url)
    .then(response => response.json())
    .then(data => {
        console.log(data.price);
    });
    
// 或者用 async/await
async function getStock() {
    let response = await fetch(url);
    let data = await response.json();
    console.log(data.price);
}

9️⃣ 技术指标计算(以MA为例)

# Python - 简单移动平均
import pandas as pd

prices = [100, 102, 101, 105, 107, 110]
df = pd.DataFrame({'price': prices})
df['ma5'] = df['price'].rolling(window=3).mean()

print(df)
// JavaScript - 简单移动平均
let prices = [100, 102, 101, 105, 107, 110];

function calculateMA(data, window) {
    let result = [];
    for (let i = 0; i < data.length; i++) {
        if (i < window - 1) {
            result.push(null);  // 不够数据
        } else {
            let sum = 0;
            for (let j = 0; j < window; j++) {
                sum += data[i - j];
            }
            result.push(sum / window);
        }
    }
    return result;
}

let ma3 = calculateMA(prices, 3);
console.log(ma3);  // [null, null, 101, 102.67, 104.33, 107.33]

🔟 快速对照表

功能PythonJavaScript
打印 print(x) console.log(x)
字符串 f"{x}" `${x}`
列表 [1,2,3] [1,2,3]
字典/对象 {"a":1} {a:1}
注释 # 注释 // 注释
空值 None null / undefined
类型 type(x) typeof x
循环 for x in list: list.forEach(x=>{})