• Python笔记 【无序】 【五】


    描述符

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

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

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

    3.__delete__selfinstance//控制删除操作,不反回任何内容

    重写property

    Del ---delete

    练习

     

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

     

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

    *args表示参数可变数量

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

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

    迭代器

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

     

    常利用for循环!

    for i in “xxxxx”:

    Print(i)

    迭代器内置函数:

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

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

     

    string = "ssada"

    a = iter(string)

     

    迭代器的魔法方法:

    __iter__()

    __next__()

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

     

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

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

    斐波那契数列:

    列表推导式:

    字典推导式:

    集合推导式:

    生成器推导式

     

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

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

    模块【更高级的封装】

     

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

     

    导入模块

    1.

    import xx

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

    2.

    form 模块名 import 函数名

    yy()

    3.

    import 模块名 as  新名字

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

    __name____main__、搜索路径和包

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

    def test():

        ……

    test() //调用

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

    __name__

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

    xx.__name__

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

    搜索路径

     

    import 包名.模块名

  • 相关阅读:
    VS2010中连接sdf数据库的字符串 Kevin
    找不到请求的 .Net Framework Data Provider。可能没有安装 Kevin
    MVC项目中找不到 DbContext 命名空间 Kevin
    Something About Assert()——C#中的断言 Kevin
    Html.Partial vs Html.RenderPartial & Html.Action vs Html.RenderAction Kevin
    .NET 中的双问号 Kevin
    苹果公司一道面试题 Kevin
    The diffrence between TempData and ViewBag and ViewData Kevin
    GRUB整体分析
    忠诚的成本看房产大鳄冯仑如何处理看待忠诚
  • 原文地址:https://www.cnblogs.com/expedition/p/10700141.html
Copyright © 2020-2023  润新知