Python入门到精通三天速成第一讲——创建自定义类

class Person:
    def set_name(self, name):
        self.name = name

    def get_name(self):
        return self.name

    def greet(self):
        print("Hello, world! I'm {}.".format(self.name))

这个示例包含三个方法定义,它们类似于函数定义,但位于 class 语句内。 Person 当然是类的名称。 class 语句创建独立的命名空间,用于在其中定义函数。一切看起来都挺好,但你可能想知道参数 self 是什么。它指向对象本身。那么是哪个对象呢?下面通过创建两个实例来说明这一点

>>> foo = Person()
>>> bar = Person()
>>> foo.set_name('Luke Skywalker')
>>> bar.set_name('Anakin Skywalker')
>>> foo.greet()
Hello, world! I'm Luke Skywalker.
>>> bar.greet()
Hello, world! I'm Anakin Skywalker.

这个示例可能有点简单,但澄清了 self 是什么。对 foo 调用 set_name 和 greet 时, foo 都会作为第一个参数自动传递给它们。这个参数命名为 self ,这非常贴切。实际上,可以随便给这个参数命名,但鉴于它总是指向对象本身,因此习惯上将其命名为 self 。显然, self 很有用,甚至必不可少。如果没有它,所有的方法都无法访问对象本身——要操作的属性所属的对象。与以前一样,也可以从外部访问这些属性。

>>> foo.name
'Luke Skywalker'
>>> bar.name = 'Yoda'
>>> bar.greet()
Hello, world! I'm Yoda.
发布了367 篇原创文章 · 获赞 188 · 访问量 51万+

猜你喜欢

转载自blog.csdn.net/qq_32146369/article/details/104221820