iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python常考基础面试题
  • 438
分享到

Python常考基础面试题

python人工智能开发语言算法 2023-09-02 16:09:11 438人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

文章目录 Python基础面试题1、 Python 数据结构有哪些2、Python 中列表和元组的区别是什么?元组是不是真的不可变?3、什么是生成器和迭代器?它们之间有什么区别?迭代器生成器

文章目录

Python基础面试题

1、 python 数据结构有哪些

  • 整数(int)
  • 浮点(float)
  • 字符串(str)
  • 布尔(bool)
  • 列表(list)
  • 元组(tuple)
  • 字典(dict)
  • 集合(set)

2、Python 中列表和元组的区别是什么?元组是不是真的不可变?

  • 列表:list 是可变类型、数据可以动态变化
  • 元组:是不可变类型,大小固定

3、什么是生成器和迭代器?它们之间有什么区别?

迭代器

  • 作用:简化循环的代码并可以节约内存
  • 是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退
  • 迭代器有两个基本的方法:iter() 和 next()。

生成器

  • 作用:节约大量内存
  • 使用了 yield 的函数被称为生成器、生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器
  • 原理:在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行

4、什么是闭包?装饰器又是什么?装饰器有什么作用?你用过装饰器吗?请写一个装饰器的例子

  • 闭包是指Python中将组成函数的语言和这些语言的执行环境打包到一起所得到的对象
  • 装饰器是一种增加函数或类功能的简单方法,它可以快速给不同的函数或类插入相同的功能。语法:“@装饰器名”加在函数之前
  • 例:
    在这里插入图片描述

5、什么是匿名函数,用匿名函数有什么好处?

匿名函数:使用lambda创建的函数,所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。

好处

  • 1、使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。
  • 2、对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。
  • 3、使用lambda在某些时候让代码更容易理解。

应用场景:经常与一些内置函数相结合使用,比如说map()、filter()、sorted()、reduce()

表达式格式lambda 参数列表: lambda体

案例

frame.applymap(lambda x: '%.2f' % x)frame.apply(lambda x: x.max() - x.min())

6、如何提高 Python 的运行效率吗

  • 使用生成器优化内存
  • 循环的优化:多个if elif条件判断,可以把最有可能先发生的条件放到前面写,这样可以减少程序判断的次数,提高效率
  • 优化算法时间:算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)

7、用过类吗?知道继承吗?请写一个例子,用到继承。

  • 继承:指通过获取父对象的属性和能力,再加上自定义的属性和能力而成为一个对象的子对象或一个类的子类。
    在这里插入图片描述

  • 重写:方法名取一样,方法重写
    在这里插入图片描述

8、深拷贝和浅拷贝

  • 浅拷贝,改变原始对象中为可变类型的元素的值,会同时影响拷贝对象;改变原始对象中为不可变类型的元素的值,不会响拷贝对象。
  • 深拷贝,除了顶层拷贝,还对子元素也进行了拷贝。经过深拷贝后,原始对象和拷贝对象所有的可变元素地址都没有相同的了

9、列举8个常用模块都有那些?

os模块:提供了不少与操作系统相关联的函数.

sys模块:通用工具脚本经常调用命令行参数.

re模块:为高级字符串处理提供了正则表达式工具。对于复杂的匹配和处理,正则表达式提供了简洁、优化的解决方案:

random模块:提供了生成随机数的工具。

JSON模块:提供Python解析json数据的方法,和python格式相互转化的方法

time模块:python中用于处理时间的模块

logging模块:python中关于日志处理的模块

xml模块python爬虫中用于定位html标签的模块

10、Python垃圾回收机制?(知道即可)

python采用的是引用计数机制为主,标记-清除和分代收集(隔代回收、分代回收)两种机制为辅的策略

计数机制:Python的GC模块主要运用了引用计数来跟踪和回收垃圾。在引用计数的基础上,还可以通过“标记-清除”解决容器对象可能产生的循环引用的问题。通过分代回收以空间换取时间进一步提高垃圾回收的效率。

标记-清除::标记-清除的出现打破了循环引用,也就是它只关注那些可能会产生循环引用的对象
缺点:该机制所带来的额外操作和需要回收的内存块成正比。

隔代回收
原理:将系统中的所有内存块根据其存活时间划分为不同的集合,每一个集合就成为一个“代”,垃圾收集的频率随着“代”的存活时间的增大而减小。也就是说,活得越长的对象,就越不可能是垃圾,就应该减少对它的垃圾收集频率。那么如何来衡量这个存活时间:通常是利用几次垃圾收集动作来衡量,如果一个对象经过的垃圾收集次数越多,可以得出:该对象存活时间就越长。

来源地址:https://blog.csdn.net/yuan2019035055/article/details/122310494

--结束END--

本文标题: Python常考基础面试题

本文链接: https://www.lsjlt.com/news/391033.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python常考基础面试题
    文章目录 Python基础面试题1、 Python 数据结构有哪些2、Python 中列表和元组的区别是什么?元组是不是真的不可变?3、什么是生成器和迭代器?它们之间有什么区别?迭代器生成器 ...
    99+
    2023-09-02
    python 人工智能 开发语言 算法
  • Python面试题 基础篇
    最近,整理了一些python常见的面试题目,语言是一种工具,但是多角度的了解工具能帮助我们更好的工作。 从很多国内网站以及一些国外论坛翻译过来的,虽然本文标注为"原创",但是仅仅是自己日常整理的材料,文章后面会附上参考来源。 第一部分:...
    99+
    2023-01-31
    面试题 基础 Python
  • Java常见的基础面试题
    JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。JRE:Java Runtime Environment 的简称,java 运行环境,为...
    99+
    2017-11-11
    java面试题 Java
  • python基础面试题整理
    Python基础语法相关 一、Python中的pass语句的作用是什么? pass语句什么也不做,一般作为占位符 或者创建站位程序,pass语句不会不执行任何操作。 二、Py...
    99+
    2022-11-12
  • 非常全面的Python常见基础面试题及答案
    目录Python 1 Python垃圾回收机制是什么 2 元组和列表的区别 3 元组可以作为字典的key? 4 进程 线程 协程 4.1 进程 4.2 线程 4.3 协程 5 赋值、...
    99+
    2022-11-12
  • MySQL面试题-基础
    MySQL面试题-基础 MySQL面试题-基础 1、SQL中文全称 结构化查询语言2、SQL语句分类 (1)数据查询语言DQL包括select字段名from表名where条件 (2)...
    99+
    2021-02-19
    MySQL面试题-基础
  • java——《面试题——基础篇》
    全文章节 Java——《面试题——基础篇》 Java——《面试题——JVM篇》 Java——《面试题——多线程&并发篇》 Java——《面试题——Spring篇》 Java——《面试题——SpringBoot篇》 Java—...
    99+
    2023-10-21
    java 面试题
  • MySQL 面试题——MySQL 基础
    目录 1.什么是 MySQL?有什么优点?2.MySQL 中的 DDL 与 DML 是分别指什么?3.✨数据类型 varchar 与 char 有什么区别?4.数据类型 BLOB 与 TEXT...
    99+
    2023-09-20
    mysql 数据库 面试题
  • Java并发基础常见面试题(总结)
    本篇文章给大家总结了一下Java并发基础常见面试题,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。1. 什么是线程和进程1.1. 何为进程进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程...
    99+
    2015-12-07
    java面试题 spring Java
  • python基础测试题
    答案答案不一定正确待修改中 仅供参考 """def grammar(): return ''' 5个python数据类型:int整数型 folat浮点型 tuple元组 str字符串 list列表 set集合 dic...
    99+
    2023-01-31
    测试题 基础 python
  • 字节跳动最爱考的JavaScript 基础面试题有哪些
    字节跳动最爱考的JavaScript 基础面试题有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。注意:每道题前面出现的 (xx) 数字...
    99+
    2022-10-19
  • 常见的Linux基础面试问题有哪些
    小编给大家分享一下常见的Linux基础面试问题有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Q.1: Linux 操作系统的核心是什么?ShellKerne...
    99+
    2023-06-16
  • Java常见基础知识面试题有哪些
    今天小编给大家分享一下Java常见基础知识面试题有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、八种基本数据类型的大...
    99+
    2023-06-27
  • java面试中有哪些基础面试题
    这篇“java面试中有哪些基础面试题”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“java面试中有哪些基础面试题”文章吧。作...
    99+
    2023-06-03
  • python基础面试题30问(附带答案)
    1、     闭包 定义:闭包是由函数及其相关的引用环境组合而成的实体(即:闭包=函数+引用环境)(想想Erlang的外层函数传入一个参数a, 内层函数依旧传入一个参数b, 内层函数使用a和b, 最后返回内层函数) 代码:def ExFu...
    99+
    2023-01-31
    面试题 答案 基础
  • Python开发面试题:面试中 8 个必考问题
    ‘’金三银四‘’工作的人没有不知道的吧,其实7月也是跳槽面试的高峰期,咱们的学生大军也加入了找工作的浪潮。这里根据经验和实际情况总结了一下在Python面试中,关于Python开发面试题必考的8个问题,有需要的小伙伴,敲黑板认真看哦!...
    99+
    2023-06-02
  • 【基础概念】 Redis简介和面试常见问题
    Redis简介和面试常见问题简介:    Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,...
    99+
    2022-10-18
  • JVM基础面试题有哪些
    本篇内容介绍了“JVM基础面试题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1 概述对于 Java 程序员来说,在虚拟机自动内存管理...
    99+
    2023-06-04
  • Android基础面试题有哪些
    本文小编为大家详细介绍“Android基础面试题有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android基础面试题有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一 性能优化1.如何对 Andro...
    99+
    2023-06-04
  • Java的基础面试题目(2)
    11、是否可以从一个static方法内部发出对非static方法的调用?不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。 ...
    99+
    2019-02-27
    java面试题 Java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作