Python 3 基本数据类型详解
Python 3 提供了丰富的数据类型,包括数值类型、序列类型、集合类型和映射类型等。以下是 Python 3 中的主要数据类型及其详细介绍。
1. 数值类型(Numeric Types)
Python 3 支持 整数(int)、浮点数(float) 和 复数(complex)。
1.1 整数(int)
整数类型表示没有小数部分的数,可以是正数、负数或零。
a = 10 # 正整数
b = -5 # 负整数
c = 0 # 零
print(type(a)) # <class 'int'>
Python 3 的整数是任意精度的,不受 32 位或 64 位的限制。
big_num = 99999999999999999999999999999999999999
print(big_num) # Python 会自动调整整数大小
1.2 浮点数(float)
浮点数用于表示带小数点的数字。
x = 3.14
y = -2.71
z = 1.0 # 也是 float 类型
print(type(x)) # <class 'float'>
Python 也支持 科学计数法:
sci_num = 1.23e4 # 等同于 12300.0
print(sci_num)
1.3 复数(complex)
Python 3 内置支持复数,使用 j 表示虚数部分。
z = 3 + 4j
print(z.real) # 实部 3.0
print(z.imag) # 虚部 4.0
print(type(z)) # <class 'complex'>
1.4 数值运算
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
2. 布尔类型(Boolean)
Python 的布尔类型只有两个值:True 和 False,它们本质上是 int 的子类:
print(True + 1) # 2
print(False + 1) # 1
print(type(True)) # <class 'bool'>
布尔值主要用于条件判断:
if True:
print("条件成立")
3. 字符串(String)
3.1 定义字符串
字符串可以用 单引号 或 双引号 定义:
s1 = 'Hello'
s2 = "Python"
print(s1, s2)
多行字符串使用 ''' 或 """:
multi_line = """这是
多行字符串"""
print(multi_line)
3.2 字符串操作
s = "Hello"
print(s[0]) # 访问第一个字符 'H'
print(s[-1]) # 访问最后一个字符 'o'
print(s[1:4]) # 字符切片 'ell'
3.3 字符串方法
s = "hello python"
print(s.upper()) # 转大写 HELLO PYTHON
print(s.lower()) # 转小写 hello python
print(s.title()) # 首字母大写 Hello Python
print(s.replace("python", "world")) # 替换
print(s.split()) # 拆分 ['hello', 'python']
4. 列表(List)
列表是一种有序、可变的集合,支持不同数据类型。
fruits = ["苹果", "香蕉", "橙子"]
print(fruits[0]) # 访问第一个元素 '苹果'
fruits.append("葡萄") # 添加元素
fruits.remove("香蕉") # 移除元素
print(len(fruits)) # 获取长度
列表切片:
numbers = [1, 2, 3, 4, 5]
print(numbers[1:4]) # [2, 3, 4]
print(numbers[::-1]) # 反转列表 [5, 4, 3, 2, 1]
5. 元组(Tuple)
元组与列表类似,但不可变。
coordinates = (10, 20)
print(coordinates[0]) # 访问元素 10
如果尝试修改元组:
coordinates[0] = 30 # ❌ TypeError: 'tuple' object does not support item assignment
6. 字典(Dictionary)
字典是键值对(key-value)存储结构,键必须是唯一的。
person = {"name": "Alice", "age": 25}
print(person["name"]) # 访问键 'Alice'
person["city"] = "北京" # 添加新键值对
print(person.keys()) # 获取所有键
print(person.values()) # 获取所有值
7. 集合(Set)
集合是无序且不重复的元素集合。
numbers = {1, 2, 3, 3, 2, 1}
print(numbers) # {1, 2, 3}
numbers.add(4) # 添加元素
numbers.remove(2) # 移除元素
print(numbers)
集合运算:
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b) # 并集 {1, 2, 3, 4, 5}
print(a & b) # 交集 {3}
print(a - b) # 差集 {1, 2}
8. None 类型
None 代表 空值,用来表示“没有值”或“未初始化的变量”。
x = None
print(x) # None
print(type(x)) # <class 'NoneType'>
9. 数据类型转换
Python 提供内置函数进行数据类型转换:
print(int("10")) # 字符串转整数 10
print(float("3.14")) # 字符串转浮点数 3.14
print(str(100)) # 整数转字符串 '100'
print(list("abc")) # 字符串转列表 ['a', 'b', 'c']
print(tuple([1, 2, 3])) # 列表转元组 (1, 2, 3)
print(set([1, 2, 2, 3])) # 列表转集合 {1, 2, 3}
总结
| 数据类型 | 说明 |
|---|---|
| int | 整数 |
| float | 浮点数 |
| complex | 复数 |
| bool | 布尔值 |
| str | 字符串 |
| list | 可变列表 |
| tuple | 不可变元组 |
| dict | 键值对字典 |
| set | 无序不重复集合 |
| None | 空值 |
更多详细内容请关注其他相关文章!