您的位置:首页 > 编程语言 > Python开发

python常见问题汇总

2019-02-05 18:24 127 查看

continue和break有什么区别?

答案:break和continue都是用来控制循环结构的。break提前终止循环,完全结束一个循环,跳出循环体执行后面的语句。continue是跳出当次循环中剩下的语句,执行下一次循环。区别:continue只终止本次循环,break则完全终止循环。

python中的作用域?

答案:python中,一个变量的作用域总是由在代码中被赋值的地方所决定的。搜索的顺序为:本地作用域(local)-->当前作用域被嵌入的本地作用域(enclosing locals)-->全局/模块作用域(global)-->内置作用域(built-in)

对闭包的理解?

闭包是函数式编程中的一个重要的语法结构,也是一种组织代码的结构,它同样提高了代码的可重复使用性。当一个内嵌函数引用其外部作用域的变量,我们就得到了一个闭包。创建一个闭包必须满足的条件:必须有一个内嵌函数,外部函数的返回值必须是内嵌函数的引用。

python里的拷贝?理解引用和copy(),deepcopy()的区别?

答案:

[code]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语句,最后总是会执行

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: