python面试常见的25个问题.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
python面试常见的25个问题 python面试常见的25个问题 PAGE / NUMPAGES python面试常见的25个问题 python 面试常见的 25 个问题 小编:重庆黑马 到底什么是 Python ?你可以在回答中与其他技术进行对比 下面是一些关键点: ? Python 是一种解释型语言。这就是说,与 C 语言和 C 的衍生语言不 同, Python 代码在运行之前不需要编译。其他解释型语言还包括 PHP 和 Ruby 。 ? Python 是动态类型语言, 指的是你在声明变量时, 不需要说明变量的 类型。你可以直接编写类似 x=111 和 x=Im a string 这样的代码,程序不 会报错。 ? Python 非常适合面向对象的编程( OOP ),因为它支持通过组合 ( composition )与继承( inheritance )的方式定义类( class )。 Python 中没有访问说明符 (access specifier ,类似 C++ 中的 public 和 private ),这么设计的依据是“大家都是成年人了”。 ? 在 Python 语言中,函数是第一类对象( first-class objects )。这指 的是它们可以被指定给变量,函数既能返回函数类型,也可以接受函数作为 输入。类( class )也是第一类对象。 ? Python 代码编写快,但是运行速度比编译语言通常要慢。 好在 Python 允许加入基于 C 语言编写的扩展,因此我们能够优化代码,消除瓶颈,这点 通常是可以实现的。 numpy 就是一个很好地例子,它的运行速度真的非常快,因为很多算术 运算其实并不是通过 Python 实现的。 ? Python 用途非常广泛——网络应用, 自动化,科学建模,大数据应用, 等等。它也常被用作“胶水语言”,帮助其他语言和组件改善运行状况。 ? Python 让困难的事情变得容易, 因此程序员可以专注于算法和数据结 构的设计,而不用处理底层的细节。 为什么提这个问题: 如果你应聘的是一个 Python 开发岗位, 你就应该 知道这是门什么样的语言,以及它为什么这么酷。以及它哪里不好。 2.什么是 PEP8? PEP8 是一个编程规范,内容是一些关于如何让你的程序更具可读性的建议。 3.什么是 pickling 和 unpickling ? Pickle 模块读入任何 Python 对象,将它们转换成字符串,然后使用 dump 函数将其转储到一个文件中——这个过程叫做 pickling 。 反之从存储的字符串文件中提取原始 Python 对象的过程, 叫做 unpickling 。 是如何被解释的? Python 是一种解释性语言,它的源代码可以直接运行。 Python 解释器会将 源代码转换成中间语言,之后再翻译成机器码再执行。 是怎样管理内存的? Python 的内存管理是由私有 heap 空间管理的。 所有的 Python 对象和数据 结构都在一个私有 heap 中。程序员没有访问该 heap 的权限,只有解释器 才能对它进行操作。 为 Python 的 heap 空间分配内存是由 Python 的内存管理模块进行的, 其核 心 API 会提供一些访问该模块的方法供程序员使用。 Python 有自带的垃圾回收系统, 它回收并释放没有被使用的内存, 让它们能 够被其他程序使用。 6.有哪些工具可以帮助 debug 或做静态分析? PyChecker 是一个静态分析工具,它不仅能报告源代码中的错误,并且会报 告错误类型和复杂度。 Pylint 是检验模块是否达到代码标准的另一个工具。 7.什么是 Python 装饰器? Python 装饰器是 Python 中的特有变动,可以使修改函数变得更容易。 8.数组和元组之间的区别是什么? 数组和元组之间的区别:数组内容是可以被修改的,而元组内容是只读的。 另外,元组可以被哈希,比如作为字典的关键字。 9.参数按值传递和引用传递是怎样实现的? Python 中的一切都是类, 所有的变量都是一个对象的引用。 引用的值是由函 数确定的,因此无法被改变。但是如果一个对象是可以被修改的,你可以改 动对象。 字典推导式和列表推导式是什么? 它们是可以轻松创建字典和列表的语法结构。 都有哪些自带的数据结构? Python 自带的数据结构分为可变的和不可变的。可变的有:数组、集合、字 典;不可变的有:字符串、元组、数。 什么是 Python 的命名空间? 在 Python 中,所有的名字都存在于一个空间中,它们在该空间中存在和被操作——这就是命名空间。 它就好像一个盒子,每一个变量名字都对应装着一个对象。当查询变量的时

文档评论(0)

182****7876 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档