软考中级-软件设计师 Python篇

文章目录

  • Python 基础语法
  • Python 数据结构
  • 函数与模块
  • 面向对象编程
  • 常用算法实现
  • 文件操作
  • 异常处理
  • 常用库
  • Python 基础语法

  • 变量与数据类型:Python支持多种数据类型,包括整数 (int)、浮点数 (float)、字符串 (str)、布尔值 (bool) 和复数 (complex)。
  • x = 10       # 整数
    y = 3.14     # 浮点数
    z = "Hello"  # 字符串
    a = True     # 布尔值
    
  • 运算符:Python支持算术运算符 (+, -, *, / 等)、比较运算符 (==, !=, >, < 等) 和逻辑运算符 (and, or, not)。
  • 条件语句:用 if-elif-else 实现逻辑分支。
  • age = 18
    if age >= 18:
        print("成人")
    else:
        print("未成年")
    
  • 循环:使用 for 循环遍历序列,使用 while 循环处理条件判断。
  • for i in range(5):
        print(i)  # 输出 0 1 2 3 4
    
    count = 0
    while count < 5:
        print(count)
        count += 1
    

    Python 数据结构

  • 列表 (List):列表是动态数组,支持索引访问,具有添加、删除和查找等常见操作。
  • # 初始化列表
    fruits = ["apple", "banana", "cherry"]
    
    # 添加元素
    fruits.append("orange")           # 添加到末尾
    fruits.insert(1, "mango")         # 插入到指定位置
    
    # 删除元素
    fruits.remove("banana")           # 按值删除
    del fruits[2]                     # 按索引删除
    popped_item = fruits.pop()        # 删除最后一个元素并返回
    
    # 查找元素
    index = fruits.index("apple")     # 查找元素的索引
    is_present = "cherry" in fruits   # 检查是否存在
    
    # 输出列表
    print(fruits)      # 示例输出: ['apple', 'mango', 'orange']
    
    
  • 元组 (Tuple):元组与列表相似,但不可修改。它们通常用于存储不需要更改的数据或作为函数的多返回值。元组的常用操作包括创建、访问元素、连接、切片等。
  • # 创建元组
    person = ("Alice", 25, "Engineer")
    
    # 访问元素
    name = person[0]       # 读取第一个元素
    age = person[1]        # 读取第二个元素
    
    # 元组不可变,因此不能直接修改,但可以重新赋值
    # person[1] = 26       # 错误:元组元素不可修改
    
    # 可以通过拼接创建新的元组
    updated_person = person[:1] + (26,) + person[2:]  # 更新年龄
    print(updated_person)   # 输出: ('Alice', 26, 'Engineer')
    
    # 元组解包
    name, age, profession = person
    
    # 查找元素
    index = person.index("Engineer")  # 查找元素索引
    count = person.count(25)          # 统计某元素出现次数
    
    # 嵌套元组
    nested_tuple = ((1, 2), (3, 4), (5, 6))
    first_pair = nested_tuple[0]      # 输出: (1, 2)
    
    
  • 集合 (Set):集合是无序、无重复的元素集合,适合快速查找、添加和删除。
  • # 初始化集合
    numbers = {1, 2, 3}
    
    # 添加元素
    numbers.add(4)
    
    # 删除元素
    numbers.remove(2)            # 移除指定元素
    numbers.discard(5)           # 移除指定元素(若不存在不报错)
    
    # 集合运算
    odds = {1, 3, 5, 7}
    evens = {2, 4, 6, 8}
    union_set = odds | evens     # 并集
    intersection_set = odds & numbers  # 交集
    
    # 判断是否包含元素
    is_present = 3 in numbers
    
    # 输出集合
    print(numbers)        # 示例输出: {1, 3, 4}
    
    
  • 字典 (Dictionary):字典是键值对的集合,键具有唯一性,可以用于存储映射关系。
  • # 初始化字典
    student = {"name": "Alice", "age": 20}
    
    # 添加或更新键值对
    student["grade"] = "A"             # 添加新键值对
    student["age"] = 21                # 更新已有键值对
    
    # 删除键值对
    del student["grade"]
    
    # 查找值
    age = student.get("age", "Not found")
    
    # 遍历字典
    for key, value in student.items():
        print(f"{key}: {value}")
    
    # 输出字典
    print(student)      # 示例输出: {'name': 'Alice', 'age': 21}
    
    

    函数与模块

  • 定义函数:使用 def 关键字定义函数。
  • def greet(name):
        return f"Hello, {name}!"
    
    print(greet("Alice"))
    
    
  • 导入模块:Python标准库包含丰富的模块,也可以自定义模块。
  • import math
    print(math.sqrt(16))  # 输出: 4.0
    
    
  • 函数参数:Python支持默认参数、可变参数和关键字参数。
  • def add(a, b=5):
        return a + b
    
    print(add(3))  # 使用默认值 b=5, 输出 8
    
    

    面向对象编程

  • 类和对象:Python是一门面向对象语言,使用 class 定义类。
  • class Car:
        def __init__(self, brand, model):
            self.brand = brand
            self.model = model
    
        def display_info(self):
            print(f"Car: {self.brand} {self.model}")
    
    car1 = Car("Toyota", "Corolla")
    car1.display_info()  # 输出: Car: Toyota Corolla
    
    
  • 继承与多态:Python支持继承和多态,使得子类可以复用父类的方法。
  • class Car:
        def __init__(self, brand, model):
            self.brand = brand
            self.model = model
    
        def display_info(self):
            print(f"Car: {self.brand} {self.model}")
    
    car1 = Car("Toyota", "Corolla")
    car1.display_info()  # 输出: Car: Toyota Corolla
    
    

    常用算法实现

  • 排序算法:Python内置了 sorted 函数,还可以实现常见的排序算法如冒泡排序和快速排序。
  • # 冒泡排序
    def bubble_sort(arr):
        n = len(arr)
        for i in range(n):
            for j in range(0, n-i-1):
                if arr[j] > arr[j+1]:
                    arr[j], arr[j+1] = arr[j+1], arr[j]
        return arr
    
    arr = [64, 34, 25, 12, 22, 11, 90]
    print(bubble_sort(arr))
    
    
  • 搜索算法:实现线性查找和二分查找。
  • # 二分查找
    def binary_search(arr, target):
        left, right = 0, len(arr) - 1
        while left <= right:
            mid = (left + right) // 2
            if arr[mid] == target:
                return mid
            elif arr[mid] < target:
                left = mid + 1
            else:
                right = mid - 1
        return -1
    
    sorted_arr = [1, 2, 3, 4, 5]
    print(binary_search(sorted_arr, 3))  # 输出: 2
    
    

    文件操作

  • 读写文件:Python支持对文件进行读写操作。
  • # 写入文件
    with open("example.txt", "w") as file:
        file.write("Hello, world!")
    
    # 读取文件
    with open("example.txt", "r") as file:
        content = file.read()
        print(content)
    
    

    异常处理

  • 异常处理:使用 try-except 捕获异常,确保程序不会因错误中断。
  • try:
        result = 10 / 0
    except ZeroDivisionError:
        print("除数不能为零")
    finally:
        print("程序执行结束")
    
    

    常用库

  • Numpy:用于数值计算和矩阵操作。
  • Pandas:用于数据分析和数据处理。
  • Matplotlib:用于数据可视化,绘制图表。
  • Requests:用于发送 HTTP 请求,处理网络数据。
  • 作者:萨达大

    物联沃分享整理
    物联沃-IOTWORD物联网 » 软考中级-软件设计师 Python篇

    发表回复