Python数据类型
目录
数据类型 | 特性 | 示例 | 操作/方法 | 是否可变 | 是否有序 | 键值对存储 | 键是否唯一 |
---|---|---|---|---|---|---|---|
数值 | 表示整数或浮点数 | int, float | +, -, *, /, //, %, ** | 否 | 否 | 否 | 否 |
字符 | 表示单个字符,通常用作字符串中的字符 | ‘a’, ‘b’ | +, *, in, not in, 索引,切片 | 否 | 是 | 否 | 否 |
列表 | 有序的、可变的集合,可以包含重复元素 | [1, 2, 3], [‘a’, ‘b’, ‘c’] | append(), extend(), insert(), remove(), pop(), 切片等 | 是 | 是 | 否 | 否 |
元组 | 有序的、不可变的集合,可以包含重复元素 | (1, 2, 3), (‘a’, ‘b’, ‘c’) | count(), index() | 否 | 是 | 否 | 否 |
集合 | 无序的、可变的集合,不允许重复元素 | {1, 2, 3}, {‘a’, ‘b’, ‘c’} | add(), remove(), discard(), union(), intersection() | 是 | 否 | 否 | 否 |
字典 | 无序的、可变的键值对集合,键唯一 | {‘name’: ‘Alice’, ‘age’: 25} | get(), setdefault(), pop(), popitem(), update(), keys(), values(), items() | 是 | 否 | 是 | 是 |
基本数据类型
1. 数字类型
-
整数(int):表示整数值,如
-2
,0
,42
。x = 5 y = -10
-
浮点数(float):表示带小数点的数值,如
3.14
,0.001
,-2.5
。pi = 3.14 e = 2.718
-
复数(complex):表示复数,形式为
a + bj
,其中a
和b
是浮点数,j
表示虚数单位。z = 1 + 2jp
2. 布尔类型(bool)
- 表示真或假,值为
True
或False
。is_valid = True is_empty = False
3. 字符串(str)
- 表示文本序列,可以使用单引号或双引号定义。
message = "Hello, world!" name = 'Alice'
集合数据类型
1. 列表(list)
- 有序可变的元素集合,使用方括号定义,元素可以是不同类型。
numbers = [1, 2, 3, 4, 5] mixed = [1, "apple", 3.14, True]
2. 元组(tuple)
- 有序不可变的元素集合,使用圆括号定义。
point = (1, 2) colors = ("red", "green", "blue")
3. 集合(set)
- 无序不重复的元素集合,使用大括号定义。
fruits = {"apple", "banana", "cherry"}
4. 字典(dict)
- 无序的键值对集合,使用大括号定义,每个键必须是唯一的。
student = {"name": "Alice", "age": 21, "major": "Computer Science"}
特殊数据类型
1. NoneType
- 表示空值或无值对象,只有一个值
None
。result = None
2. 函数(function)
- 用于定义和调用函数。
def greet(name): return f"Hello, {name}!" message = greet("Alice")
3. 文件(file)
- 用于处理文件的读写操作。
with open("example.txt", "r") as file: content = file.read()
数据类型 | 描述 | 示例 | 常见操作 |
---|---|---|---|
整数 (int) | 整数值 | x = 5 | +, -, *, /, //, %, ** |
浮点数 (float) | 带小数点的数值 | pi = 3.14 | +, -, *, /, //, %, ** |
复数 (complex) | 复数,形式为 a + bj | z = 1 + 2j | .real, .imag |
布尔 (bool) | 真 或 假 | is_valid = True | and, or, not |
字符串 (str) | 文本序列 | message = “Hello” | +, *, len(), [ ], [:], lower(), upper() |
列表 (list) | 有序可变元素集合 | numbers = [1, 2, 3] | append(), remove(), pop(), extend(), sort() |
元组 (tuple) | 有序不可变元素集合 | point = (1, 2) | count(), index() |
集合 (set) | 无序不重复元素集合 | fruits = {“apple”, “banana”} | add(), remove(), union(), intersection() |
字典 (dict) | 键值对集合 | student = {“name”: “Alice”} | keys(), values(), items(), get(), pop() |
NoneType | 表示空值或无值对象 | result = None | 无 |
函数 (function) | 可调用代码块 | def greet(name): return f"Hello, {name}!" | 调用 greet(“Alice”) |
文件 (file) | 文件处理对象 | with open(“file.txt”, “r”) as f: | read(), write(), close() |
数据类型的操作
类型转换
Python 提供了多种函数用于数据类型转换:
x = 5 # int
y = float(x) # 转换为 float
z = str(x) # 转换为 str
a = list(z) # 转换为 list
b = tuple(a) # 转换为 tuple
类型检查
可以使用 type()
函数和 isinstance()
函数检查变量的数据类型:
x = 5
print(type(x)) # 输出:<class 'int'>
print(isinstance(x, int)) # 输出:True
操作 | 示例 | 描述 |
---|---|---|
整数转浮点数 | y = float(x) | 将整数转换成浮点数。 |
整数转字符串 | z = str(x) | 将整数转换成字符串。 |
字符串转列表 | a = list(z) | 将字符串转换成字符列表。 |
列表转元组 | b = tuple(a) | 将列表转换成元组。 |
类型检查 | type(x) / isinstance(x, int) | 检查变量x的类型,或者检查x是否是整数类型。 |
浮点数转整数 | y = int(x) | 将浮点数转换成整数,但会丢失小数部分。 |
字符串转整数/浮点数 | y = int(“123”) / float(“3.14”) | 将表示数字的字符串转换成相应的数值类型。 |
列表转字符串 | s = “”.join(a) | 将列表中的元素连接成一个字符串。列表中的元素必须是字符串类型。 |
元组转列表 | a = list(b) | 将元组转换成列表,允许对元素进行修改。 |
类型转换(泛型) | convert(x, type) | 在某些编程语言中,特定的数据类型转换函数或方法可能存在,用于在不同数据类型之间进行转换。 |
进制转换总结
1. 十进制到其他进制
- 二进制:使用
bin()
函数将十进制整数转换为二进制字符串,返回值以'0b'
开头。 - 八进制:使用
oct()
函数将十进制整数转换为八进制字符串,返回值以'0o'
开头。 - 十六进制:使用
hex()
函数将十进制整数转换为十六进制字符串,返回值以'0x'
开头。
# 十进制整数
decimal_number = 255
# 转换为二进制
binary_str = bin(decimal_number)
print(f"二进制: {binary_str}") # 输出:二进制: 0b11111111
# 转换为八进制
octal_str = oct(decimal_number)
print(f"八进制: {octal_str}") # 输出:八进制: 0o377
# 转换为十六进制
hexadecimal_str = hex(decimal_number)
print(f"十六进制: {hexadecimal_str}") # 输出:十六进制: 0xff
2. 二进制、八进制、十六进制到十进制
- 二进制:使用
int()
函数,将以'0b'
开头的二进制字符串转换为十进制整数。 - 八进制:使用
int()
函数,将以'0o'
开头的八进制字符串转换为十进制整数。 - 十六进制:使用
int()
函数,将以'0x'
开头的十六进制字符串转换为十进制整数。
# 二进制字符串
binary_str = '0b11111111'
decimal_from_binary = int(binary_str, 2)
print(f"十进制: {decimal_from_binary}") # 输出:十进制: 255
# 八进制字符串
octal_str = '0o377'
decimal_from_octal = int(octal_str, 8)
print(f"十进制: {decimal_from_octal}") # 输出:十进制: 255
# 十六进制字符串
hexadecimal_str = '0xff'
decimal_from_hexadecimal = int(hexadecimal_str, 16)
print(f"十进制: {decimal_from_hexadecimal}") # 输出:十进制: 255
原文地址:https://blog.csdn.net/Lzcsfg/article/details/140632837
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!