python面试

71 阅读2分钟
Python常见问题:
    1.0 深拷贝和浅拷贝的区别:
        深拷贝是将一个对象拷贝做出改变时,不会影响到原来的对象,copy.deepcopy()
        浅拷贝是在拷贝过程中改动会影响原来的对象,copy.copy()
    2.0 可变数据类型与不变数据类型:
        定义: 当改变变量值时,地址发生的变化,称为不可变数据类型,
                            地址不发生变化, 是可变数据类型
        可变数据类型:列表,字典,集合
        不可变数据类型:整型,浮点型,字符串,布尔值,元组
          **常添加全局变量和局部变量的关系**
    3.0 cookie:Cookie使Web服务器能够在用户的设备上存储状态信息
                Cookie 是浏览器访问服务器后,服务器传给浏览器的一段数据。
                此后每次浏览器访问该服务器,都必须带上这段数据。
                储存在浏览器中,是客户端, 储存时间长,可以设置日期
        Session:是另一种保存客户状态的机制,他是保存在服务器上的,SessionID是session的唯一标识
            

https://juejin.cn/post/6844904115080790023

     4.0 get和post的区别:
         携带请求时: get是在url中,请求参数会完整保存在浏览器中,
                    post是在body请求体中,请求参数不会保留,
                    所以get不安全,post安全
                    get请求参数的长度是有限制的,post没有限制

github.com/febobo/web-…

    5.0 浅拷贝:copy() 仅仅拷贝数据集合的第一层数据,
        深拷贝:deepcopy() 会拷贝数据集合所有层
    6.0 闭包: 指的是定义一个函数内部的函数,被外层包裹着,特点是内部函数可以访问外部函数的变量
              1.0 必须有一个内嵌函数
              2.0 内嵌函数必须引用外部变量
              3.0 外部函数的返回值必须是内嵌函数
            def outer():
                num = 1
                def inner():
                    print(num)  #可以访问外层函数的变量,
                return inner
                
            func = outer()  # 输出结果是1 
    7.0 
        进程与线程:https://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html
        进程间的通信方式:    
       
       
       
       

Python基础知识:

  1.0  is 和 == 的区别是啥?
  2.0  字典排序:
       sorted(dict.item(), key = lambda x:x[1])
  3.0  列表排序
       sorted(list, keylambda x:x['age'], reverse = True)
  4.0 常见的字符串格式转换
      name = ‘张三’
      
      (1) 占位符
          %
      (2) format
      (3) f'{name}'
      
  

image.png

image.png