牛课网的Python习题

1. 简要介绍一下Python生成器是什么?

生成器是一种迭代器,是一边循环一边计算的机制(Generator)。生成器就是一个机器,没启动它,它就是一个符号,占用很少的内存空间,有点像汽车,启动它,才能走,但生成器只能向前走,不能后退,你可以停一下,再次启动它,又可以接着走。
也是一个算法/函数,每次条用next的时候计算下一个值,最后跑出StopIteration。
生成器有两种创建方法:

  • 例如创建列表的时候,为了节省空间不必创建完整的list,把列表解析中的大括号“[ ]”改为小括号“( )”,列表解析就变为生成器。
  • 函数中包含yield,则叫generator。next调用,遇到yield返回。

2. Python中 is 和 == 的区别?

is 和 == 都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同。

  • ==是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等
  • is也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是id是否相同

3. 说明一下Python的方法解析顺序?

Python的方法解析优先级从高到低为: 1. 实例本身(instance) 2. 类(class) 3. super class, 继承关系越近, 越先定义, 优先级越高.

4. 手写二分查找

5. Ctrl+C程序挂掉还是抛出异常,如何判断两个字典是否一样。。。。

会出现异常,cmp()函数返回0,说明两个字典相同,返回其他,说明字典不一样

6.

猜你喜欢

转载自blog.csdn.net/weixin_43777358/article/details/85676601