Python OOP 复习


之所以复习Python关于OOP的内容,是因为在deeplizard关于PyTroch的一节课里(Build PyTorch CNN - Object Oriented Neural Networks),提到了要想理解PyTorch,就要先了解Python OOP的相关内容。所以就重新去复习了一遍,写这个笔记做个总结。

笔记

9.2. Python Scopes and Namespaces

  • A namespace is a mapping from names to objects
  • The expression modname.funcname, modname is a module object and funcname is an attribute of it
  • The local namespace for a function is created when the function is called, and deleted when the function returns or raises an exception that is not handled within the function

9.2.1. Scopes and Namespaces Example¶

这部分可以看另一篇介绍Python中local,nonlocal,global的区别

9.3. A First Look at Classes

  • 类对象的操作:属性引用和实例化。
  • 属性应用包括 数据属性和方法。实例化是使用__init__()
  • 而实例化后的对象只支持属性引用(数据属性和方法)。
  • 私有变量:一个下划线的名称_spam尽在from xx impport xx 的时候不会被import。参考另一篇关于下划线命名的文章,Python类的下划线命名有什么不同
  • 迭代器: 给类添加迭代行为需要定义两个函数。 定义一个 __iter__()`` 方法来返回一个带有next()` 方法的对象。 但是通常使用生成器来创建迭代器,写法更简单,使用yield,能自动创建上面的iter()方法和next()方法。

参考资料


文章作者: BrambleXu
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 BrambleXu !
评论
  目录