Python 面试中 8 个必考问题(转载)】的更多相关文章

Python 面试中 8 个必考问题 1.下面这段代码的输出结果是什么?请解释. def extendList(val, list=[]): list.append(val) return list list1 = extendList(10) list2 = extendList(123,[]) list3 = extendList('a') print "list1 = %s" % list1 print "list2 = %s" % list2 print &…
1.下面这段代码的输出结果是什么?请解释. def extendList(val, list=[]): list.append(val) return list list1 = extendList(10) list2 = extendList(123,[]) list3 = extendList('a') print "list1 = %s" % list1 print "list2 = %s" % list2 print "list3 = %s&quo…
面试实习生的时候,当问到 is 和 == 的区别时,很多同学都答不上来,搞不清两者什么时候返回一致,什么时候返回不一致.本文我们来看一下这两者的区别. 我们先来看几个例子: a = "hello" b = "hello" print(a is b) # 输出 True print(a == b) # 输出 True a = "hello world" b = "hello world" print(a is b) # 输出 F…
第一家公司问的题目 1 简述解释型和编译型编程语言? 解释型语言编写的程序不需要编译,在执行的时候,专门有一个解释器能够将VB语言翻译成机器语言,每个语句都是执行的时候才翻译.这样解释型语言每执行一次就要翻译一次,效率比较低. 用编译型语言写的程序执行之前,需要一个专门的编译过程,通过编译系统,把源高级程序编译成为机器语言文件,翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高,但也不能一概而论, 部分解释型语言的解释器通过在运行时动态优化代码,甚至能够使解释型语言的性能超过编译型…
1 性能: 解析下面代码慢在哪里def strtest1(num):str='first'for i in range(num):str+="X"return str解析:python中str是一个不可变类型,每次迭代,都会生成一个新的str来储存对象,当num特别大的时候,就会创建很多的str,所有对内存的占用也会特别的大. 2 闭包:写一个函数,接收整数参数n,返回一个函数,函数的功能是把函数的参数和n相乘并把结果返回def func(n): def func1(val): ret…
1.什么是设计模式? 设计模式是经过总结.优化,对我们经常遇到的一些编程问题的可重用的解决方案.设计模式不同于类或库可直接作用于代码.相反,它更为的高级,是一种必须在特定的情形下实现的方法模版. 2.面向对象中设计模式的六大原则是什么? 开闭原则:一个软件实体如类.模块和函数,对扩展开放,对修改关闭,即一个软件实体应该在不修改原有代码的基础上进行扩展 里氏替换原则:引用父类的地方都应该能透明的调用其子类的对象 依赖倒置原则:高层模块不应该依赖底层模块,两者都应该依赖其抽象类,抽象不应该依赖细节,…
<本文来自公众号“大邓带你玩python”,转载> import math math.sqrt(8) 2.8284271247461903 我们看看Python中结果 math.sqrt(8).math.sqrt(8) 8.000000000000002 本以为会得到8.0,但没想到得到8.000000000000002. 一.为什么会这样? 如果我们平常计算的任务常常有类似于上面的例子这样的表达式,那么直接用python计算其结果只是真实值的逼近.如果这样的计算很大很多,误差会逐渐积累,这是…
Python 面试问题 最近正在团队内部普及 Python 语言,有些刚接触 Python 语言的工程师在概念上有很多混淆的地方,刚好看到这篇文章:Python面试问题,里面列举的问题都是关于 Python 基本的常识或者容易混淆的知识点,因此推荐给团队的 Python 初学者. 参数是如何传递的?传值还是传引用?(How are arguments passed – by reference of by value?) 这个问题的有点c/c++风格,问题的实质是当一个传入的参数在函数体内被更改…
原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 系列文章介绍 本文是<五分钟学Java>系列文章的一篇 本系列文章主要围绕Java程序员必须掌握的核心技能,结合我个人三年多的Java学习和工作经历,总结和沉淀下来的方法论,希望能让Java学习这件事变得更简单,作者目前在阿里做Java,忙里偷闲分享一些技术文章 系列文章将会把一些技术学习方法.过程.要领与我的学习经验相结合,更加浅显易懂,并且我也会把我学习时用的资料,书籍和文章拿出来分享给大家,节省你我的时间.所谓授人以鱼也要…
整理的最全 python常见面试题(基本必考) python 2018-05-17 作者 大蛇王 1.大数据的文件读取 ① 利用生成器generator ②迭代器进行迭代遍历:for line in file 2.迭代器和生成器的区别 1)迭代器是一个更抽象的概念,任何对象,如果它的类有next方法和iter方法返回自己本身.对于string.list.dict.tuple等这类容器对象,使用for循环遍历是很方便的.在后台for语句对容器对象调用iter()函数,iter()是python的内…