Bootstrap

python基础

列表与元组的区别

  • 可变性

        元组不可变类型

        列表可变类型,可以增加/删除/修改元素

  • 相对大小

        数据不可修改,选择使用元组类型

        列表是可变类型,通常比元组占用更多的内存空间

  • 使用场景

        元组用于表示一些不会被修改的数据,例如坐标、日期等

        列表通常用于存储一组动态变化的数据,例如用户输入记录、网络响应等

“==”运算符和“is”运算符的区别

    • 本质
    1. "=="比较操作符:比较对象的value(值)是否相等;结果返回一个布尔值,即True或False
    2. "is"身份运算符:比较对象的内存地址id(身份标识)是否相等;结果返回一个布尔值,即True或False
    • 应用场景
    1. "==" 通常用于比较值类型的对象,例如数值、字符串、列表等。
    2. "is" 通常用于比较引用类型的对象,例如自定义类的实例、函数等。

    *args 和 **kwargs 区别

    Python 函数参数前面一个星号(*)和两个星号(**)的区别 | 菜鸟教程

    • *args位置参数:可接受任意个位置参数,当函数调用时,所有未使用的位置参数会在函数内自动组装进一个tuple对象中,此tuple对象会赋值给变量名args
    • **kwargs关键字参数:可接受任意个关键字参数,当函数调用时,所有未使用的关键字参数会在函数内组装进一个dict对象中,此dict对象会赋值给变量名kwargs
    • 定义函数时,*args要在**kwags之前,不然会发生语法错误
    • *args和**kwargs组合起来可以传入任意的参数

     进程、线程区别

    • 本质区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位
    • 包含关系:一个进程至少有一个线程,线程是进程的一部分
    • 资源开销:每个进程都有独立的地址空间,进程之间的切换会有较大的开销;线程可以看做轻量级的进程,同一个进程内的线程共享进程的地址空间,每个线程都有自己独立的运行栈和程序计数器,线程之间切换的开销小
    • 影响关系:一个进程崩溃后,在保护模式下其他进程不会被影响,但是一个线程崩溃可能导致整个进程被操作系统杀掉,所以多进程要比多线程健壮

    ;