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:后续再加

  • 相关阅读:
    MySQL性能优化
    mysql中OPTIMIZE TABLE的作用
    Linux中/usr与/var目录详解
    Mysql之EXPLAIN显示using filesort
    MySQL ALTER语法的运用方法 && 操作索引和字段
    NoSQL数据库的分布式算法&&memcache集群的实现
    linux用户权限
    hdoj1241 Oil Deposits
    ny42 一笔画问题
    ny20 吝啬的国度
  • 原文地址:https://www.cnblogs.com/mlmy/p/13476155.html
Copyright © 2011-2022 走看看