核心:两者都是导入模块,但用法有3个关键区别,全程用简单代码举例,一看就懂,不冗余。
一、导入系统内置模块(用法差异最小)
系统自带模块,无需安装,直接导入,区别仅在关键字和语法细节。
Python(import):
# 导入内置math模块
import math
# 调用模块方法
print(math.sqrt(4)) # 输出:2.0
Node.js(require):
// 导入内置fs模块,赋值给变量fs
const fs = require('fs');
// 调用模块方法(简单示例,无需深入理解)
fs.readFile('test.txt', (err, data) => {
if (!err) console.log(data.toString());
});
区别:Python直接import模块,Node.js需用require()赋值给变量,再调用。
二、导入第三方模块(流程一致,语法不同)
先安装第三方模块,再导入,安装工具不同,导入语法有差异。
Python(import):
# 先安装:pip install requests
# 导入并使用
import requests
response = requests.get('https://www.baidu.com')
print(response.status_code) # 输出:200
Node.js(require):
// 先安装:npm install axios
// 导入并使用
const axios = require('axios');
axios.get('https://www.baidu.com')
.then(res =>console.log(res.status)); // 输出:200
区别:Python用pip安装、import导入;Node.js用npm安装、require()导入并赋值。
三、导入自定义模块(核心区别,重点记)
自己写的模块,Python无需额外操作,Node.js需手动暴露、写路径。
1. Python(import):无需暴露,直接导入
# 自定义模块 utils.py
defadd(a, b):
return a + b
# 主文件 main.py,直接导入
import utils
print(utils.add(1, 2)) # 输出:3
2. Node.js(require):需手动暴露+写路径
// 自定义模块 utils.js,必须手动暴露
functionadd(a, b) {
return a + b;
}
// 手动暴露要使用的函数(关键步骤)
module.exports = { add };
// 主文件 main.js,需写路径(./表示当前目录)
const utils = require('./utils.js');
console.log(utils.add(1, 2)); // 输出:3
总结(核心区别)
1. 关键字:Python用import,Node.js用require()并赋值;
2. 自定义模块:Node.js需加module.exports暴露、导入时写路径(./),Python不用。