自学内容网 自学内容网

Python数据类型

目录

基本数据类型

1. 数字类型

2. 布尔类型(bool)

3. 字符串(str)

集合数据类型

1. 列表(list)

2. 元组(tuple)

3. 集合(set)

4. 字典(dict)

特殊数据类型

1. NoneType

2. 函数(function)

3. 文件(file)

数据类型的操作

类型转换

类型检查

进制转换总结

1. 十进制到其他进制

2. 二进制、八进制、十六进制到十进制


数据类型特性示例操作/方法是否可变是否有序键值对存储键是否唯一
数值表示整数或浮点数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,其中 ab 是浮点数,j 表示虚数单位。

    z = 1 + 2jp

2. 布尔类型(bool)

  • 表示真或假,值为 TrueFalse
    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 + bjz = 1 + 2j.real, .imag
布尔 (bool)真 或 假is_valid = Trueand, 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)!