Python笔记 【无序】 【五】

时间:2022-09-10 11:34:44

描述符

将某种特殊类型的类【只要实现了以下或其中一个】的实例指派给另一个类的属性

1.__get__(self,instance,owner)//访问属性,返回属性的值

2.__set__(self,instance,value)//将在属性分配【即赋值】中调用,不返回任何内容

3.__delete__(self,instance)//控制删除操作,不反回任何内容

Python笔记 【无序】 【五】

重写property

Python笔记 【无序】 【五】

Del ---delete

练习

Python笔记 【无序】 【五】

Python笔记 【无序】 【五】

定制序列【定制容器】 容器---序列【字符串,元组,列表】+映射类型【字典】

Python笔记 【无序】 【五】

Python笔记 【无序】 【五】

Python笔记 【无序】 【五】

练习  不可变类型 记录每个元素的访问次数

Python笔记 【无序】 【五】

*args表示参数可变数量

self.values = [x for x in args]    //列表推导式的形式,把参数放到列表values中

接着第二行为字典的初始化操作,键值对---数值-访问次数【全化为0】的形式

迭代器

【提供迭代方法的容器称为迭代器】 ---as字典,字符串,元组

 

常利用for循环!

for i in “xxxxx”:

Print(i)

迭代器内置函数:

iter(xxx)   容器对象调用iter()得到迭代器

next(xxx)返回下一个值,没有值可以返回了,python就抛出StopIteration的异常

 

string = "ssada"

a = iter(string)

Python笔记 【无序】 【五】

迭代器的魔法方法:

__iter__()

__next__()

Python笔记 【无序】 【五】

生成器【特殊的函数,可终端、暂停可暂时交还控制权】

Python笔记 【无序】 【五】

Python笔记 【无序】 【五】

生成器【特殊的迭代器,是他的一个实现】

函数中有yield语句,此函数被定义为生成器

斐波那契数列:

Python笔记 【无序】 【五】

列表推导式:

Python笔记 【无序】 【五】

字典推导式:

Python笔记 【无序】 【五】

集合推导式:

Python笔记 【无序】 【五】

生成器推导式

Python笔记 【无序】 【五】

()括起来的,,,,,,

yield = return //不过有暂停功能

模块【更高级的封装】

Python笔记 【无序】 【五】

即保存了一个.py的程序文件即是模块

 

导入模块

1.

import xx

xx.yy() ----使用导入模块中的方法

2.

form 模块名 import 函数名

yy()

3.

import 模块名 as  新名字

x.yy() ----使用导入模块中的方法

__name__、__main__、搜索路径和包

可以在每个模块后编写测试方法 ---

def test():

……

test() //调用

防止模块中测试方法在主程序中被使用显示

__name__

'__main__' //主程序中如此显示

xx.__name__

'显示模块名' //模块中如此显示

Python笔记 【无序】 【五】

搜索路径

Python笔记 【无序】 【五】

Python笔记 【无序】 【五】

import 包名.模块名