码迷,mamicode.com
首页 > 编程语言 > 详细

Python 面试题整理1

时间:2017-08-13 20:47:55      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:速度   cts   模块   sans   应用   public   code   不用   word   

参考网页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

标签:速度   cts   模块   sans   应用   public   code   不用   word   

原文地址:http://www.cnblogs.com/engineer-cat/p/7354590.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!