1.property属性
2.上下文管理器
上下文管理器是 Python 中一种强大且实用的工具,它主要用于管理资源的分配和释放,确保资源在使用完毕后能被正确清理,避免资源泄漏。上下文管理器通常与 with
语句结合使用,能让代码更加简洁、安全和易读。
上下文管理器本质是一个实现了 __enter__()
和 __exit__()
方法的对象。__enter__()
方法在进入 with
语句块时被调用,负责资源的分配和初始化;__exit__()
方法在离开 with
语句块时被调用,负责资源的释放和清理。
# 1定义一个File类
class File(object):
def __init__(self, file_name, file_model):
self.file_name = file_name
self.file_model = file_model
# 2实现 __enter__() 和 __exit__()方法
def __enter__(self):
print("这是上文")
self.file = open(self.file_name, self.file_model)
return self.file
def __exit__(self, exc_type, exc_val, exc_tb):
print("这是下文")
self.file.close()
# 3然后使用 with 语句来完成操作文件
with File("1.txt", "r") as f:
file_data = f.read()
print(file_data)
3.生成器
注意:
这是while处理的代码
def mygenerator(n): for i in range(n): print('开始生成...') yield i print('完成一次...') gen = mygenerator(3) while True: try: print(next(gen)) except StopIteration: break
4.拷贝
之前已经讲过,现在说一下总体的理解
注意那个赋值是针对可变类型的数据的,不可变的会重新开辟一个空间。
以上图可以说明拷贝的地址空间问题,浅拷贝内部的地址还是一样的只不过外部不一样。深拷贝都不一样。之所以说拷贝只针对可变对象是因为可变对象是有安全问题的,但是不可变对象没有,如果对于不可变对象进行拷贝得到的只是原内容的地址拷贝,类似于对于可变对象的赋值。