Python中__init__方法的作用是什么?学习时该如何理解?
理解Python中的__init__方法
__init__是Python类里的实例初始化方法,核心作用是在你创建类的实例(也就是对象)时,自动给这个实例设置初始属性、执行必要的初始化操作。
核心作用拆解
给实例绑定专属属性
没有__init__的话,你创建实例后得手动给它加属性,很麻烦。有了__init__,创建实例时就能直接传参赋值:# 没有__init__的情况 class Dog: pass dog1 = Dog() dog1.name = "旺财" dog1.breed = "中华田园犬" # 有__init__的情况 class Dog: def __init__(self, name, breed): # self代表当前创建的实例本身 self.name = name self.breed = breed dog2 = Dog("旺财", "中华田园犬") print(dog2.name) # 输出 旺财执行实例创建后的初始化逻辑
除了赋值属性,你还可以在__init__里写需要在对象诞生时就完成的操作,比如打开资源、初始化计数器:class Counter: def __init__(self): self.count = 0 # 初始化计数器为0 def add(self): self.count += 1 c = Counter() c.add() print(c.count) # 输出 1
容易混淆的点
别把__init__当成“构造函数”——Python里真正负责创建实例的是__new__方法,__init__只是在实例被创建出来后,给它“装修”(初始化)的步骤,它不会返回任何值。
内容的提问来源于stack exchange,提问作者Aryan Mehra
相关产品推荐
相关产品推荐

