Python 面试题整理1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 面试题整理1相关的知识,希望对你有一定的参考价值。

参考网页15 Essential Python Interview Questions

1. 什么是Python?

  可以在回答中与其他技术作对比(鼓励这么做);如果应聘的是一个Python开发岗位,就应知道这是门什么样的语言以及它为什么这么酷,以及它哪里不好。

  参考答案:

  • Python是一种解释型语言。这就是说,与C语言和C的衍生语言不同,Python代码在运行之前不需要编译。其他解释型语言还包括php和Ruby。
  • Python是动态类型语言,指的是你在声明变量时,不需要说明变量的类型。你可以直接编写类似x=111x="I‘m a string"这样的代码,程序不会报错。
  • Python非常适合面向对象的编程(OOP),因为它支持通过组合(composition)与继承(inheritance)的方式定义类(class)。Python中没有访问说明符(access specifier,类似C++中的publicprivate),这么设计的依据是“大家都是成年人了”。
  • 在Python语言中,函数是第一类对象(first-class objects)。这指的是它们可以被指定给变量,函数既能返回函数类型,也可以接受函数作为输入。类(class)也是第一类对象。
  • Python代码编写快,但是运行速度比编译语言通常要慢。好在Python允许加入基于C语言编写的扩展,因此我们能够优化代码,消除瓶颈,这点通常是可以实现的。numpy就是一个很好地例子,它的运行速度真的非常快,因为很多算术运算其实并不是通过Python实现的。
  • Python用途非常广泛——网络应用,自动化,科学建模,大数据应用,等等。它也常被用作“胶水语言”,帮助其他语言和组件改善运行状况。
  • Python让困难的事情变得容易,因此程序员可以专注于算法和数据结构的设计,而不用处理底层的细节

2.  补充缺失的代码: 函数的定义

def print_directory_contents(sPath):
    """
    这个函数接受文件夹的名称作为输入参数,
    返回该文件夹中文件的路径,
    以及其包含文件夹中文件的路径。
    """
    # 补充代码

  注意点:

  • 命名规范要统一。如果样本代码中能够看出命名规范,遵循其已有的规范。
  • 递归函数需要递归并终止。确保你明白其中的原理,否则你将面临无休无止的调用栈(callstack)。
  • 我们使用os模块与操作系统进行交互,同时做到交互方式是可以跨平台的。你可以把代码写成sChildPath = sPath + ‘/‘ + sChild,但是这个在Windows系统上会出错。
  • 熟悉基础模块是非常有价值的,但是别想破脑袋都背下来,记住Google是你工作中的良师益友。
  • 如果你不明白代码的预期功能,就大胆提问。
  • 坚持KISS原则!保持简单,不过脑子就能懂!

草考答案:

  def print_directory_contents(sPath):
      import os                                       
      for sChild in os.listdir(sPath):                
          sChildPath = os.path.join(sPath,sChild)
          if os.path.isdir(sChildPath):
              print_directory_contents(sChildPath)
          else:
              print sChildPath
3. 列表问题:

  阅读下面的代码,写出A0,A1至An的最终值

  A0 = dict(zip((‘a‘,‘b‘,‘c‘,‘d‘,‘e‘),(1,2,3,4,5))) 
  A1 = range(10)
  A2 = sorted([i for i in A1 if i in A0])
  A3 = sorted([A0[s] for s in A0])
  A4 = [i for i in A1 if i in A3]
  A5 = {i:i*i for i in A1}
  A6 = [[i,i*i] for i in A1]

参考结果:  技术分享


 

 

 

  














以上是关于Python 面试题整理1的主要内容,如果未能解决你的问题,请参考以下文章

Python面试题整理

python面试题整理(30题)

面试题整理

Python:超级大全网上面试题搜集整理

最强面试题整理第一弹:Python 基础面试题(附答案)

最强面试题整理第一弹:Python 基础面试题(附答案)