• python基础面试题


    python基础面试题

    1、python有哪些数据类型?

    Python六大基本数据类型:数字、字符串、列表、元组、字典、集合

    2、Python怎么将两个字典合并?

    使用.update()方法更新字典中的数据

    #方法一:将age数据更新到name中
    name = {'name': 'panpan'}
    age = {'age': 25}
    name.update(age)
    print(name)
    #方法二:自定义一个空字典,将name、age更新到空列表中
    d = {}
    d.update(name)
    d.update(age)
    print(d)
    #方法三:将字典转化成列表相加,在转成字典
    conb = dict(list(name.items())+list(age.items()))
    print(conb)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    3、Python如何将json写入到文件里?

    import json
    test_dict = {'one':1, 'two':{2.1:['a', 'b']}}
    with open("../data/data.json","w") as f:
         json.dump(test_dict,f)
         print("加载入文件完成...")
    
    • 1
    • 2
    • 3
    • 4
    • 5

    4、在except语句中return后会不会执行finally中的代码?

    不管异常是否发生,finally中的语句都会执行,所以即使有return,finally也会执行

    5、Python中可变类型有哪些,不可变类型有哪些?

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

    6、Python函数调用时参数的传递是值传递还是引用传递?

    基本的参数传递机制有两种:值传递和引用传递
    Python参数传递采用的肯定是“传对象引用”的方式。这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值--相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象--相当于通过“传值’来传递对象。

    7、Python深拷贝、浅拷贝的区别?

    深拷贝和浅拷贝是针对可变对象:list、dict 和 set
    深拷贝:copy.deepcopy(a) ,深拷贝都会重新生成一个新的对象,改变后不会对原对象有影响
    浅拷贝:copy.copy(a),浅拷贝只使用原始元素的引用(内存地址),修改后原对象也变化
    常见的浅拷贝操作有:
    使用切片操作[:],使用工厂函数(如list/dict/set),copy模块的copy()方法

    8、Python为什么使用*args和**kwargs?

    args和**kwargs 是python方法中的可变参数
    args表示任何多个无名参数,它是一个tuple
    **kwargs表示关键字参数,它是一个dict
    同时使用
    args和kwargs时,必须
    args参数列要在kwargs前
    当方法的参数不确定时,可以使用*args 和
    kwargs

    9、python的继承、多态的了解?父类可以用子类的方法吗?

    继承的作用:

    继承:子类直接具备父类的能力(属性和方法)

    作用:解决代码重用问题,提高开发效率

    继承的语法格式:

    class 子类名(父类名)pass 
    
    • 1
    • 2

    继承分为单继承和多继承:
    1、单继承:只继承父类的属性方法,
    2、多继承:继承关系为多层传递,如生活中的爷爷、父亲、儿子

    多态:多种形态,调用同一个函数,不同表现

    实现多态的步骤:

    1. 实现继承关系
    2. 子类重写父类方法
    3. 通过对象调用该方法

    10、说说你对封装的了解?

    什么是封装?
    面向对象编程有三大特性:封装、继承、多态,其中最重要的一个特性就是封装。
    封装:指的就是把数据与功能都整合到一起

    分两步实现:隐藏与开放接口

    python中对对象的封装操作,使其对外只提供固定的访问模式,不能访问其内部的私有属性和私有方法。python中的封装,一般指的是对类属性,类方法的封装,即类属性私有化和类方法私有化

    11、Python中的self参数有什么作用?

    self是什么:哪个对象调用方法,方法中self就是这个对象
    self的作用:为了区分不同对象的属性和方法

    12、Python中的os模块常见方法?

    os.getcwd() 返回当前工作目录
    os.chdir(path) 改变工作目录
    os.listdir(path) 列举指定目录中的文件名和目录名
    os.mkdir(path) 创建单层目录
    os.makedirs(path) 递归创建目录
    os.remove(path) 删除文件
    os.rmdir(path) 删除单层目录
    os.removedirs() 递归删除目录
    os.system(command) 运行系统的shell命令
    os.rename(old,new) 将老的文件名或目录重新命名为新的文件名或目录
    os.curdir 代表当前目录
    os.pardir 代表上一级目录

  • 相关阅读:
    Python 系统学习总结(基础语法+函数+数据容器+文件+异常+包+面向对象)
    NOI2022游记
    一键合并多个TXT文本,将保存在TXT的快递单号进行一键合并
    蓝队应急响应之Linux篇
    计算机毕业设计之垃圾分类公益回收管理系统
    【JavaScript】JS开发中五个常用功能/案例(36-40)(牛客题解)
    ThinkPHP5 按年度水平分表实例
    Qt鼠标点击事件处理:显示鼠标点击位置(完整示例)
    系统安全分析与设计
    文献阅读(207)FPGA HBM
  • 原文地址:https://blog.csdn.net/weixin_44688529/article/details/126385226