欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

构造函数的理解(构造函数与 init 方法)

发布时间:2025/5/22 编程问答 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 构造函数的理解(构造函数与 init 方法) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

0. 构造函数与 init 方法

  • 构造方法内部禁止添加任何业务逻辑,如果有业务逻辑,请放在 init 方法中;

1. 构造函数的参数

以下为一个堆实现优先队列(堆的实现借助完全二叉树,而完全二叉树又可以通过线性表)的构造函数部分,提供一个表参数(默认为空的 list),使人可以为优先队列提供一些初始元素,

class PriorityQueue:def __init__(self, elist=[]):self._elems = list(elist)...

self._elems = list(elist) ,从 elist 出发做出一个表拷贝有以下一些意义:

  • 做拷贝使内部的表脱离原来的表,排除共享
  • 对默认情况,建立的是一个新的空表,

2. 创建类对象实例,却不定义类对象实例的名称

就像这样,

class A: pass A()

创建类对象实例,却不定义类对象实例的名称,仍然是有意义的,显然并不直接使用名称对对象进行操作。比如可以,在类的构造函数中,将 self 自身放进一个容器内部。

>> class A: >> def __init__(self, name, seq=[]): >> self.name = name >> seq.append(self) >> seq = [] >> A('A1', seq) >> A('A2', seq) >> [s.name for s in seq] ['A1', 'A2']

转载于:https://www.cnblogs.com/mtcnn/p/9424078.html

总结

以上是生活随笔为你收集整理的构造函数的理解(构造函数与 init 方法)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。