zoukankan      html  css  js  c++  java
  • 《Python 高级编程》简要读书笔记

    Python 高级编程

    列表推导

    
    li=[i for i in range(10) if i%2 == 0]
    [0, 2, 4, 6, 8]
    
    #enumerate的用法
    
    for i,j in enumerate(range(10)):
        print (i,j)
    

    迭代器

    #yield的用法
    def fabnaci():
        a,b=0,1
        while b<10:
            yield b
            a,b=b,a+b
    if __name__ == '__main__':
        ites=fabnaci()
        for i in ites:
            print (i)
    

    访问超类中的方法

    class a():
    
        def __init__(self):
            print ("a __init__ ")
    
    
    class b(a):
        def __init__(self):
            super(b, self).__init__()
            print ("b __init__")
    
    

    class person():
    
        __slots__ = ['age']
    
        def __init__(self,name,age):
            self.name=name
            self.age=age
    
    if __name__ == '__main__':
        p=person("libai",'100')#AttributeError: 'person' object has no attribute 'name'
        print(p.name) #AttributeError: 'person' object has no attribute 'name'
    
    
    class person():
    
        __slots__ = ['age']
    
        def __init__(self,age):
            self.age=age
    
    if __name__ == '__main__':
        p=person('100')
        print(p.age)
        
    
    

    元编程

    
    class gj(object):
        #必须返回一个实例
        def __new__(cls, *args, **kwargs):
            print("__new__ called")
            return  object.__new__(cls)
    
        def __init__(self):
            print ("__init__ called")
    
    
    if __name__ == '__main__':
        gj()
    

    Python中命名风格

    CamelCase(每个单词首字母大写)
    mixedCase(和CamelCase类似,第一个单词首字母小写)
    UPPERCASE(大写)ER_CASE_WITH_UNDEGSCORES(大写并且带下划线)
    lowercase(小写)和lower_case_with_underscores(小写且带下划线)
    前缀和后缀下划线,前后最下划线用来标记私有和特殊的元素
    

    命名指南

    使用is和has前缀命名布尔元素
    用复数形式命名序列元素
    用显式的名称命名字典
    避免通用名称
    避免现有名称
    

    PS:后续再加

  • 相关阅读:
    Tomcat下使用war包发布项目
    shell编程报错:“syntax error near unexpected token `”
    undo表空间不足,ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS2'
    HTML快速入门
    HTTP协议快速入门
    Java Web应用的开发模式
    使用Jekyll搭建免费的Github Pages个人博客
    前端模拟API数据的两种方式
    Node.js学习笔记
    socket.io笔记
  • 原文地址:https://www.cnblogs.com/mlmy/p/13476155.html
Copyright © 2011-2022 走看看