Python高级——拷贝与生成器
一、==和is 的使用
is 是比较两个引用是否指向了同一个对象(地址引用比较)。
== 是比较两个对象是否相等。(比较的数值) 。
二、深浅拷贝
1、浅拷贝
浅拷贝是对于一个对象的顶层拷贝
当 a 发生变化时,b 不会变化
2、深拷贝
深拷贝是对于一个对象所有层次的拷贝(递归)
三、生成器
1、列表推导式
[i for i in range(1, 101)]
直接生成列表,那么当列表中的元素特别多的时候,内存的占有就特别的多
2、列表生成器
(i for i in range(1, 101))
将列表推导式转换为列表生成器——将[]使用()来代替
代码实例
"""
求斐波那契数列
"""
ls = []
def fibonacci(num):
first, second = 1, 2
count = 0
while count < num:
first, second = second, first + second
ls.append(first)
count += 1
fibonacci(20)
print(ls)