• python 笔记碎片


    1. import的使用

      import 导入一个包时,实际导入的是 __init__.py

      __all__ 控制的是 import * 中的 * 这个东西,其他的限制不了

      a.py和b.py循环导入时,不要再模块的开头导入,而是在使用到的代码前一行导入(这个使用只是能解决问题,但不提倡用,写之前更应该规划好逻辑,不要出现循环导入的情况)

    3. 打印对象的所有属性值

    "
    ".join(["%s: %s" % item for item in obj.__dict__.items()])

    4. python的内存回收

      python在内存中每个对象的引用计数,如果计数为0,则回收

      引用循环情况: 对象 Test1 和 Test2,符合Test1.x = Test2, Test2.x = Test1,如果Test1和Test2没有被其他代码引用,则在循环查找时会删除

      python中使用了某些启发式算法来加速回收,越晚创建的对象更有可能被删除,垃圾回收器会分配它们所属的代,每个对象都会被分配一个,更年轻的优先级高

    5. __class__  (知识点是 “类的内存地址” 和 “实例的内存地址”)

      实例调用__class__,属性会指向该实例对应的类,然后可以去调用类其他的属性,毕竟类的属性还是由类调用看起来更清晰

      栗子:

        self.__class__.__name__    用 __class__ 将 self 的实例变量指向类

    6. 一个小技巧

      python处理列表,循环列表的过程中,需要将一个值给删掉,此时可以使用倒叙循环,就不会由下标越界的情况,省去处理下标前移的工作

      for x in test_list[::-1]

        pass

  • 相关阅读:
    26. Remove Duplicates from Sorted Array(js)
    25. Reverse Nodes in k-Group(js)
    24. Swap Nodes in Pairs(js)
    23. Merge k Sorted Lists(js)
    22. Generate Parentheses(js)
    21. Merge Two Sorted Lists(js)
    20. Valid Parentheses(js)
    19. Remove Nth Node From End of List(js)
    18. 4Sum(js)
    17. Letter Combinations of a Phone Number(js)
  • 原文地址:https://www.cnblogs.com/SBJBA/p/11750136.html
Copyright © 2020-2023  润新知