python __init__方法

__init__方法会在类的对象被实例化(Instantiated) 时立即运行。这一方法可以对任何你想进行操作的目标对象进行初始化(Initialization) 操作。这里你要注意在 init 前后加上的双下划线。

案例(保存为 oop_init.py ) :

class Person:
    def __init__(self, name):
        self.name = name
    def say_hi(self):
        print('Hello, my name is ',self.name)

p = Person('Swaroop')
p.say_hi()

# 前面两行同时也能写作
# Person('Swaroop').say_hi()

输出

$ python oop_init.py
Hello, my name is Swaroop

它是如何工作的

在本例中,我们定义一个接受 name 参数(当然还有 self 参数) 的 __init__方法。在这里,我们创建了一个字段,同样称为name 。要注意到尽管它们的名字都是“name”,但这是两个不相同的变量。虽说如此,但这并不会造成任何问题,因为 self.name 中的点号意味着这个叫作“name”的东西是某个叫作“self”的对象的一部分,而另一个name 则是一个局部变量。由于我们已经如上这般明确指出了我们所指的是哪一个名字,所以它不会引发混乱。

当我们在 Person 类下创建新的实例 p时,我们采用的方法是先写下类的名称,后跟括在括号中的参数,形如: p = Person('Swaroop')

我们不会显式地调用 __init__ 方法。 这正是这个方法的特殊之处所在。

现在,我们可以使用我们方法中的 self.name 字段了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值