数据类型
基本数据类型
数字类型
Python 数字类型
python
# Python - 整数
age = 25
count = -10
# Python - 浮点数
height = 1.75
pi = 3.14159
# Python - 复数
complex_num = 3 + 4jJavaScript 数字类型
javascript
// JavaScript - 只有一种数字类型
const age = 25;
const height = 1.75;
const count = -10;字符串类型
Python 字符串
python
# Python - 字符串
name = "Alice"
message = 'Hello, World!'
multi_line = """
这是一个
多行字符串
"""
# 字符串方法
name.upper() # 转大写
name.lower() # 转小写
name.replace("A", "B") # 替换
len(name) # 长度JavaScript 字符串
javascript
// JavaScript - 字符串
const name = "Alice";
const message = "Hello, World!";
const multiLine = `
这是一个
多行字符串
`;
// 字符串方法
name.toUpperCase(); // 转大写
name.toLowerCase(); // 转小写
name.replace("A", "B"); // 替换
name.length; // 长度布尔类型
python
# Python - 布尔值
is_student = True
is_working = False
# 真值判断
bool(0) # False
bool("") # False
bool([]) # False
bool(1) # True
bool("Hello") # Truejavascript
// JavaScript - 布尔值
const isStudent = true;
const isWorking = false;
// 真值判断
Boolean(0); // false
Boolean(""); // false
Boolean([]); // true (注意:空数组在JS中是truthy)
Boolean(1); // true
Boolean("Hello"); // trueNone vs null
python
# Python - None
value = None
if value is None:
print("Value is None")javascript
// JavaScript - null 和 undefined
const value = null;
const undefinedValue = undefined;
if (value === null) {
console.log("Value is null");
}基本数据类型的算术运算
数字运算
python
# Python - 算术运算
a, b = 10, 3
print(a + b) # 13
print(a - b) # 7
print(a * b) # 30
print(a / b) # 3.3333... (浮点除法)
print(a // b) # 3 (整数除法)
print(a % b) # 1 (取余)
print(a ** b) # 1000 (幂运算)javascript
// JavaScript - 算术运算
const a = 10,
b = 3;
console.log(a + b); // 13
console.log(a - b); // 7
console.log(a * b); // 30
console.log(a / b); // 3.3333...
console.log(Math.floor(a / b)); // 3 (整数除法)
console.log(a % b); // 1 (取余)
console.log(a ** b); // 1000 (幂运算)字符串运算
python
# Python - 字符串运算
first = "Hello"
second = "World"
print(first + " " + second) # 字符串拼接
print(first * 3) # 字符串重复
print("Hello" in first) # 成员检查javascript
// JavaScript - 字符串运算
const first = "Hello";
const second = "World";
console.log(first + " " + second); // 字符串拼接
console.log(first.repeat(3)); // 字符串重复
console.log(first.includes("Hello")); // 成员检查类型转换
Python 类型转换
python
# Python - 类型转换
# 字符串转数字
age_str = "25"
age = int(age_str)
height_str = "1.75"
height = float(height_str)
# 数字转字符串
age_str = str(25)
height_str = str(1.75)
# 布尔转换
bool(0) # False
bool(1) # True
bool("") # False
bool("Hello") # TrueJavaScript 类型转换
javascript
// JavaScript - 类型转换
// 字符串转数字
const ageStr = "25";
const age = parseInt(ageStr);
const heightStr = "1.75";
const height = parseFloat(heightStr);
// 数字转字符串
const ageStr2 = String(25);
const heightStr2 = (1.75).toString();
// 布尔转换
Boolean(0); // false
Boolean(1); // true
Boolean(""); // false
Boolean("Hello"); // true列表和元组
Python 列表(类似 JavaScript 数组)
python
# Python - 列表
fruits = ["apple", "banana", "orange"]
numbers = [1, 2, 3, 4, 5]
# 访问元素
print(fruits[0]) # apple
print(fruits[-1]) # orange (最后一个)
# 修改元素
fruits[1] = "grape"
# 添加元素
fruits.append("mango")
fruits.insert(1, "kiwi")
# 删除元素
fruits.remove("banana")
popped = fruits.pop()
# 列表方法
len(fruits) # 长度
fruits.sort() # 排序
fruits.reverse() # 反转JavaScript 数组
javascript
// JavaScript - 数组
const fruits = ["apple", "banana", "orange"];
const numbers = [1, 2, 3, 4, 5];
// 访问元素
console.log(fruits[0]); // apple
console.log(fruits[fruits.length - 1]); // orange
// 修改元素
fruits[1] = "grape";
// 添加元素
fruits.push("mango");
fruits.splice(1, 0, "kiwi");
// 删除元素
fruits.splice(fruits.indexOf("banana"), 1);
const popped = fruits.pop();
// 数组方法
fruits.length; // 长度
fruits.sort(); // 排序
fruits.reverse(); // 反转Python 元组(不可变列表)
python
# Python - 元组
coordinates = (10, 20)
person = ("Alice", 25, "Engineer")
# 访问元素
print(coordinates[0]) # 10
# 元组不可修改
# coordinates[0] = 30 # 错误!
# 解包
x, y = coordinates
name, age, job = person字典
Python 字典(类似 JavaScript 对象)
python
# Python - 字典
person = {
"name": "Alice",
"age": 25,
"city": "New York"
}
# 访问值
print(person["name"]) # Alice
print(person.get("age")) # 25
print(person.get("country", "Unknown")) # 默认值
# 修改值
person["age"] = 26
# 添加键值对
person["job"] = "Engineer"
# 删除键值对
del person["city"]
removed = person.pop("age")
# 字典方法
person.keys() # 所有键
person.values() # 所有值
person.items() # 所有键值对JavaScript 对象
javascript
// JavaScript - 对象
const person = {
name: "Alice",
age: 25,
city: "New York",
};
// 访问值
console.log(person.name); // Alice
console.log(person["age"]); // 25
console.log(person.country || "Unknown"); // 默认值
// 修改值
person.age = 26;
// 添加属性
person.job = "Engineer";
// 删除属性
delete person.city;
// 对象方法
Object.keys(person); // 所有键
Object.values(person); // 所有值
Object.entries(person); // 所有键值对集合
Python 集合
python
# Python - 集合(无序、不重复)
fruits = {"apple", "banana", "orange"}
numbers = {1, 2, 3, 4, 5}
# 添加元素
fruits.add("mango")
# 删除元素
fruits.remove("banana")
# 集合运算
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union = set1 | set2 # 并集
intersection = set1 & set2 # 交集
difference = set1 - set2 # 差集JavaScript Set
javascript
// JavaScript - Set
const fruits = new Set(["apple", "banana", "orange"]);
const numbers = new Set([1, 2, 3, 4, 5]);
// 添加元素
fruits.add("mango");
// 删除元素
fruits.delete("banana");
// 集合运算(需要手动实现)
const set1 = new Set([1, 2, 3]);
const set2 = new Set([3, 4, 5]);
const union = new Set([...set1, ...set2]);
const intersection = new Set([...set1].filter((x) => set2.has(x)));
const difference = new Set([...set1].filter((x) => !set2.has(x)));练习
- 创建不同类型的变量并测试它们的运算
参考答案:
python
# Python
num = 10
flt = 3.14
text = "hello"
print(num + flt)
print(text * 2)javascript
// JavaScript
let num = 10;
let flt = 3.14;
let text = "hello";
console.log(num + flt);
console.log(text.repeat(2));- 练习列表和字典的基本操作
参考答案:
python
# Python
lst = [1, 2, 3]
lst.append(4)
lst[0] = 10
print(lst)
dct = {"a": 1, "b": 2}
dct["c"] = 3
print(dct)javascript
// JavaScript
let arr = [1, 2, 3];
arr.push(4);
arr[0] = 10;
console.log(arr);
let obj = { a: 1, b: 2 };
obj.c = 3;
console.log(obj);- 比较 Python 和 JavaScript 的数据类型差异
参考答案:
- Python 有 int、float、str、list、tuple、dict、set、bool、NoneType。
- JavaScript 有 number、string、boolean、object、array、null、undefined、symbol、bigint。
- Python 的 list/tuple/dict/set 分别对应 JS 的 array/object/set(无 tuple 直接对应)。
- 实现简单的类型转换
参考答案:
python
# Python
num = int("123")
flt = float("3.14")
text = str(456)
bool_val = bool(1)javascript
// JavaScript
let num = parseInt("123");
let flt = parseFloat("3.14");
let text = String(456);
let boolVal = Boolean(1);下一步
现在你已经了解了 Python 的基本数据类型,接下来我们将学习控制流语句。