Python类

使用类在Python中定义新对象

除了使用Python提供的类型之外,我们还可以声明我们自己的类,并且可以从类中实例化对象。

对象是类的实例。类是对象的类型。

用这种方式定义一个类:

class <class_name>:
    # my class

例如,让我们定义一个Dog类

class Dog:
    # the Dog class

一个类可以定义方法:

class Dog:
    # the Dog class
    def bark(self):
        print('WOF!')

self方法的参数指向当前对象实例,并且在定义方法时必须指定该参数。

我们创建一个类的实例,目的,使用以下语法:

roger = Dog()

现在roger是Dog类型的新对象。

如果你跑

print(type(roger))

你会得到<class '__main__.Dog'>

一种特殊的方法__init__()称为构造函数,当我们从该类创建新对象时,可以使用它来初始化一个或多个属性:

class Dog:
    # the Dog class
    def __init__(self, name, age):
        self.name = name
        self.age = age
<span style="color:#66d9ef">def</span> <span style="color:#a6e22e">bark</span>(self):
    <span style="color:#66d9ef">print</span>(<span style="color:#e6db74">'WOF!'</span>)</code></pre></div>

We use it in this way:

roger = Dog('Roger', 8)
print(roger.name) # 'Roger'
print(roger.age)  # 8

roger.bark() # ‘WOF!’

One important features of classes is inheritance.

We can create an Animal class with a method walk():

class Animal:
    def walk(self):
        print('Walking..')

and the Dog class can inherit from Animal:

class Dog(Animal):
    def bark(self):
        print('WOF!')

Now creating a new object of class Dog will have the walk() method as that’s inherited from Animal:

roger = Dog()
roger.walk() # 'Walking..'
roger.bark() # 'WOF!'

More python tutorials: