龙空技术网

Python魔法函数用法(__init__)

长颈鹿睡觉 345

前言:

如今你们对“python中def用法”都比较重视,同学们都想要分析一些“python中def用法”的相关文章。那么小编同时在网摘上汇集了一些有关“python中def用法””的相关内容,希望姐妹们能喜欢,各位老铁们一起来了解一下吧!

Python中定义了魔法函数(magic method)用于类定义中,实现数据模型的定义。

魔法方法是给Python解释器调用的,一般是不需要程序员去调用的。

魔法方法__init__()是用于类的的初始化,类似JAVA中的构造函数。

当通过类名创建对象时,Python解释器就会调用__init__()方法。

通过一个示例演示__init__()方法的用法。

构建一个Army类,Army中包含多个Soldier。

Soldier类通过collections.namedtuple创建,包含id和name两个属性。

在Army类中创建__init__()方法,在其中创建_soldiers列表,列表中是Army中的士兵。

import collectionsSoldier = collections.namedtuple("Soldier", "id,name")class Army: ids = [1, 2, 3] names = ["张三", "李四", "王五"] def __init__(self): self._soldiers = [Soldier(id, name) for id in self.ids for name in self.names]army = Army()print(army._soldiers)

通过Army()创建对象时,会自动调用__init__()方法,初始化_soldiers变量,通过打印这个变量值,能看到已经初始化。

标签: #python中def用法