赞
踩
continue和break有什么区别?
答案:break和continue都是用来控制循环结构的。break提前终止循环,完全结束一个循环,跳出循环体执行后面的语句。continue是跳出当次循环中剩下的语句,执行下一次循环。区别:continue只终止本次循环,break则完全终止循环。
python中的作用域?
答案:python中,一个变量的作用域总是由在代码中被赋值的地方所决定的。搜索的顺序为:本地作用域(local)-->当前作用域被嵌入的本地作用域(enclosing locals)-->全局/模块作用域(global)-->内置作用域(built-in)
对闭包的理解?
闭包是函数式编程中的一个重要的语法结构,也是一种组织代码的结构,它同样提高了代码的可重复使用性。当一个内嵌函数引用其外部作用域的变量,我们就得到了一个闭包。创建一个闭包必须满足的条件:必须有一个内嵌函数,外部函数的返回值必须是内嵌函数的引用。
python里的拷贝?理解引用和copy(),deepcopy()的区别?
答案:
- import copy
- a = [1, 2, 3, 4, ['a', 'b']]
- b = a
- c = copy.copy(a)
- d = copy.deepcopy(a)
- a.append(5)
- a[4].append('c')
-
- print(a)
- print(b)
- print(c)
- print(d)
-
- [1, 2, 3, 4, ['a', 'b', 'c'], 5]
- [1, 2, 3, 4, ['a', 'b', 'c'], 5]
- [1, 2, 3, 4, ['a', 'b', 'c']]
- [1, 2, 3, 4, ['a', 'b']]
python的垃圾回收机制?
主要用的引用计数来跟踪和回收垃圾。在引用计数的基础之上,通过“标记-清除”解决容器对象可能产生的循环引用问题,通过“分代回收”以空间换时间的方法提高垃圾回收效率。
什么是lambda函数?它有什么好处?
答案:lambda表达式,通常是在需要一个函数,但又不想费神去命名一个函数的场合下使用,也就是指匿名函数,lambda函数:首要用途是指短小的回调函数。
用python实现删除一个list里面的重复元素?
答案:使用set函数,两个列表for循环去重
python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)
答案:赋值:就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。
浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另外一个也会被修改)
完成浅拷贝的方法:1,完全切片法;2,工厂函数,如list()。3,copy模块的copy()函数
深拷贝:创建一个新的对象,并且递归的赋值它所包含的对象(修改其中一个,另外一个不会改变)
深拷贝的方法:copy模块的deep.deepcopy()函数
介绍一下except的用法和作用?
答案:try...except...except...[else...][finally...]
执行try下的语句时,如果引发异常,则执行过程会跳到except语句。对每个except分支顺序尝试执行,如果引发的异常与except中的异常组匹配。执行相应的语句。如果所有的except都不匹配,则异常会传递到下一个调用本代码的最高层try代码中。try下的语句正常执行,则执行else块代码。如果发生异常就不会执行,如果有finally语句,最后总是会执行
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。