美文网首页
Data Structure in Python

Data Structure in Python

作者: inspiredhss | 来源:发表于2020-01-28 00:13 被阅读0次

    python---朝花夕拾

    1. Python解释器; 交互:python -i demo.py; IDE
    2. '{0:.3}'.format(a/b)
    3. 面向对象:
       - 【赋值】:标识符_a_1 引用 Float类 值为98.6 的实例: a=98.6; 
       - 【赋值】:标识符 引用对象的内存地址 隐式相关联; None; 动态类型; 
       - 【赋值】:对象别名,同一底层对象(a=b);赋新值-新存储对象(a=b+1);
       - 【对象-实例化】:类的构造函数(可迭代参数)&内置类;
       - 【对象-调用方法】:应用程序/更新方法-改变对象状态-sort;访问器-response.lower().startswith('y');
    4.内置类:
          -- 不可变: 
            --- bool/int(任意大小; 0b1011; 0o52; 0x7F)/float
            --- /str(字符的索引序列;“““blabla”””)
            --- /tuple(序列;(1,);)/frozenset(集合); 
          -- 可变:
            ---list(序列; [];本身可迭代)
            ---/set(集合;不重复、散列表;无序;不可变实例;{1,'re'};可迭代参数输出元素集合set('hello')=>{'h','e','l','o'})
            ---/dict(映射;{};{'a':'b','c':'d'};dict类构造函数参数:现有映射/键值对;dict(pair) pair=[('k1','v1'),('k2','v2')]); 
    5.运算符:
          -- not/and/or; is / is not(标识符指向同一对象 或 不同对象值等价); ==/!=表达式相等;~/&/|/^(异或)/<</>>
         -- 序列运算符(str; tuple; list): s[a:z:s]; s1+s2; k*s; v in s; s<=t(元素字典序比较);
        -- 集合set,frozenset运算符:k in s; s1==s2;
           子集交并差集s1>=s2; s1|s2;s1&s2;s1-s2;s1^s2
        -- 字典运算符:del d[k]; k in d; d1==d2(等价);
    6. 内置函数:
        -- all(itera); any(itera); chr(num); hash(obj); id(obj); input(prompt); isinstance(obj,cls); iter(itera); map(f,i);ord(a); pow(x,y,z);reversed(seq);round(x); round(x,k);type(obj);
    7. 文件:
      -- fp=open('a.txt'):文件对象; fp.read():串儿;fp.read(k):k个串儿;fp.readline():行串; fp.readlines():行数组; for line in f; fp.seek(k)k位置处; fp.tell()偏离; fp.write(string); fp.writelines(seq);
    8.异常
    - Exception[基类]; AttributeError[obj.foo无该成员]; EOFError[文件输入] ;IOError[输入输出失败];
    - IndexError[索引超出序列范围];KeyError[不存在的集合字典关键字];KeyboardInterrupt[ctrl+c]; 
    - NameError[标识符不存在]; StopIteration[遍历元素不存在]; TypeError[参数类型]; ValueError[参数值]; ZeroDivisionError;
        【抛异常】--- def sqrt(x):
                 if not isinstane(x,(int,float)):
                     raise TypeError(''  ")
                 elif x<0:
                     raise ValueError("  ")
        【捕异常】--- try:~   except ValueError:print()   except   EOFError: raise
        --- try:~   except (ValueError, EOFError): pass
    9. 迭代器
    - 可迭代对象:列表元组集合-容器类型;字符串-字符迭代;字典-键迭代;文件-行迭代;用户自定义类型;
    - 迭代器对象i;next(i):StopIteration; 
    - obj可迭代;iter(obj)可产生迭代器;
    - list 实例可迭代;但本身不是迭代器; for、iter;
      -- data=[1,2,3,4]; i=iter(data); next(i);
    - 隐式迭代序列值函数和类:无须立刻构建数据结构存储值;
    -- range(10000000) 返回可迭代range对象;只在有需要的时候 一次性产生百万值; 
    -- for j in range(1000000): 无须预留内存百万值;循环被打断,无须花时间计算range中未使用的值;
    -- keys();values();items(); 基于可迭代对象 生成视图 而非显示结果列表;
    --- list(range(1000)) 值为0-999的列表实例; 
    --- list(d.values())元素基于字典d的当前值生成的列表;
    10. 生成器
    - 用生成器创建迭代器;定义类的实例作为迭代器使用;
    --- def factors(n):
            for k in range(1,n+1):
                if n%k==0: yield k
    --- for factor in factors(100): 创建生成器的实例;循环迭代至yield指出下一个值——暂时中断至另一个值被请求;
    

    相关文章

      网友评论

          本文标题:Data Structure in Python

          本文链接:https://www.haomeiwen.com/subject/ujtethtx.html