【python】基础数据类型

Python3 六个标准的数据类型

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

Python3 的六个标准数据类型中:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

Python 提供了丰富的内置数据类型,每种类型都有其特定的用途和操作方式。理解这些基础数据类型是掌握 Python 编程的基础。

在 Python 中,基础数据类型(也称为内置数据类型)是编程中最常用的数据类型。以下是 Python 中的一些基础数据类型:

1. 数字类型(Numeric Types)

  • 整数(int) :表示整数值,例如 1, -3, 100
  • 浮点数(float) :表示浮点数值,例如 3.14, -0.001, 2.0
  • 复数(complex) :表示复数值,例如 1+2j, 3-4j

2. 布尔类型(Boolean Type)

  • 布尔值(bool) :表示真或假,只有两个值:TrueFalse

3. 字符串类型(String Type)

  • 字符串(str) :表示文本数据,例如 "Hello", 'Python', """Multiline string""".

4. 序列类型(Sequence Types)

  • 列表(list) :有序的可变序列,例如 [1, 2, 3], ['a', 'b', 'c']
  • 元组(tuple) :有序的不可变序列,例如 (1, 2, 3), ('a', 'b', 'c')
  • 范围(range) :表示一个不可变的数字序列,通常用于循环,例如 range(10)

5. 集合类型(Set Types)

  • 集合(set) :无序的、不重复的元素集合,例如 {1, 2, 3}, {'a', 'b', 'c'}
  • 冻结集合(frozenset) :不可变的集合,例如 frozenset({1, 2, 3})

6. 映射类型(Mapping Type)

  • 字典(dict) :无序的键值对集合,例如 {'a': 1, 'b': 2}, {1: 'one', 2: 'two'}

7. 二进制类型(Binary Types)

  • 字节(bytes) :表示不可变的字节序列,例如 b'Hello', b'\x00\x01\x02'
  • 字节数组(bytearray) :表示可变的字节序列,例如 bytearray(b'Hello')
  • 内存视图(memoryview) :提供对其他二进制对象的内存访问,例如 memoryview(b'Hello')

示例代码

python 复制代码
# 数字类型
a = 10          # 整数
b = 3.14        # 浮点数
c = 1 + 2j      # 复数

# 布尔类型
d = True        # 布尔值
e = False       # 布尔值

# 字符串类型
f = "Hello"     # 字符串
g = 'Python'    # 字符串

# 序列类型
h = [1, 2, 3]   # 列表
i = (1, 2, 3)   # 元组
j = range(5)    # 范围

# 集合类型
k = {1, 2, 3}   # 集合
l = frozenset({1, 2, 3})  # 冻结集合

# 映射类型
m = {'a': 1, 'b': 2}  # 字典

# 二进制类型
n = b'Hello'    # 字节
o = bytearray(b'Hello')  # 字节数组
p = memoryview(b'Hello') # 内存视图

总结

思考一:如何对服务端接口测试,覆盖所有数据类型覆盖

对服务端接口进行测试时,确保覆盖所有数据类型是非常重要的,这样可以验证接口在处理不同数据类型时的正确性和鲁棒性。以下是一些步骤和建议,帮助你进行全面的接口测试。

1. 理解接口需求

首先,你需要详细了解接口的需求文档,包括:

  • 接口的输入参数和输出结果。
  • 每个参数的数据类型和取值范围。
  • 接口的预期行为和异常处理。

2. 设计测试用例

根据接口的需求,设计测试用例,确保覆盖所有可能的数据类型和边界条件。以下是一些常见的数据类型和对应的测试用例:

数字类型
  • 整数(int):正数、负数、零、最大值、最小值。
  • 浮点数(float) :正数、负数、零、极大值、极小值、特殊值(如 NaN, Infinity)。
  • 复数(complex):实部和虚部为整数、浮点数。
布尔类型
  • 布尔值(bool)TrueFalse
字符串类型
  • 字符串(str):空字符串、非空字符串、特殊字符、长字符串、包含特殊编码的字符串。
序列类型
  • 列表(list):空列表、非空列表、包含不同数据类型的列表。
  • 元组(tuple):空元组、非空元组、包含不同数据类型的元组。
  • 范围(range):空范围、非空范围。
集合类型
  • 集合(set):空集合、非空集合、包含不同数据类型的集合。
  • 冻结集合(frozenset):空冻结集合、非空冻结集合、包含不同数据类型的冻结集合。
映射类型
  • 字典(dict):空字典、非空字典、包含不同数据类型的键值对。
二进制类型
  • 字节(bytes):空字节、非空字节、包含特殊字节的字节序列。
  • 字节数组(bytearray):空字节数组、非空字节数组、包含特殊字节的字节数组。
  • 内存视图(memoryview):空内存视图、非空内存视图。

3. 使用测试框架

选择一个合适的测试框架来编写和执行测试用例。常见的测试框架包括:

  • unittest:Python 内置的单元测试框架。
  • pytest:功能强大且易于使用的测试框架。
  • requests:用于发送 HTTP 请求的库,常用于接口测试。

4. 编写测试代码

以下是一个使用 unittestrequests 进行接口测试的示例代码:

python 复制代码
import unittest
import requests

class TestAPI(unittest.TestCase):

    def setUp(self):
        self.base_url = "http://your-api-endpoint.com"

    def test_integer(self):
        response = requests.get(f"{self.base_url}/integer", params={"value": 123})
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.json(), {"result": 123})

    def test_float(self):
        response = requests.get(f"{self.base_url}/float", params={"value": 3.14})
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.json(), {"result": 3.14})

    def test_string(self):
        response = requests.get(f"{self.base_url}/string", params={"value": "Hello"})
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.json(), {"result": "Hello"})

    def test_list(self):
        response = requests.get(f"{self.base_url}/list", params={"value": [1, 2, 3]})
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.json(), {"result": [1, 2, 3]})

    def test_dict(self):
        response = requests.get(f"{self.base_url}/dict", params={"value": {"a": 1, "b": 2}})
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.json(), {"result": {"a": 1, "b": 2}})

if __name__ == "__main__":
    unittest.main()

5. 执行测试

运行测试代码,确保所有测试用例都能通过。如果发现任何问题,根据错误信息进行调试和修复。

6. 自动化测试

将测试代码集成到持续集成(CI)系统中,确保每次代码提交后都能自动执行测试,及时发现和修复问题。

总结

通过设计全面的测试用例,使用合适的测试框架,并确保自动化测试,你可以有效地覆盖所有数据类型,验证服务端接口的正确性和鲁棒性。

相关推荐
万邦科技Lafite2 小时前
一键获取淘宝关键词商品信息指南
开发语言·数据库·python·商品信息·开放api·电商开放平台
Jurio.2 小时前
Python Ray 分布式计算应用
linux·开发语言·python·深度学习·机器学习
爱加糖的橙子2 小时前
Dify升级到Dify v1.10.1-fix修复CVE-2025-55182漏洞
人工智能·python·ai
Pyeako2 小时前
python网络爬虫
开发语言·爬虫·python·requsets库
diegoXie2 小时前
【Python】 中的 * 与 **:Packing 与 Unpacking
开发语言·windows·python
程序员杰哥3 小时前
如何用Postman做接口自动化测试?
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
xxxxxmy4 小时前
同向双指针(滑动窗口)
python·算法·滑动窗口·同向双指针
测试19984 小时前
selenium自动化测试详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例