在Python中使用类来定义新的对象
除了使用Python提供的类型外,我们还可以声明我们自己的类,从类中我们可以实例化对象。
一个对象是一个类的实例。 一个类是一个对象的类型。
以这种方式定义一个类。
class <class_name>:
# my class
例如,我们来定义一个狗类
class Dog:
# the Dog class
一个类可以定义方法。
class Dog:
# the Dog class
def bark(self):
print('WOF!')
self因为方法的参数指向当前的对象实例,而且在定义方法时必须指定。
我们用这种语法创建一个类的实例,一个对象。
现在roger 是一个新的狗类型的对象。
如果你运行
你会得到<class '__main__.Dog'>
一种特殊类型的方法,__init__() ,被称为构造函数,当我们从该类中创建一个新对象时,我们可以用它来初始化一个或多个属性。
class Dog:
# the Dog class
def __init__(self, name, age):
self.name = name
self.age = age
def bark(self):
print('WOF!')
我们以这种方式使用它。
roger = Dog('Roger', 8)
print(roger.name) # 'Roger'
print(roger.age) # 8
roger.bark() # 'WOF!'
类的一个重要特征是继承性。
我们可以用一个方法walk() ,创建一个动物类。
class Animal:
def walk(self):
print('Walking..')
而狗类可以继承于动物类。
class Dog(Animal):
def bark(self):
print('WOF!')
现在创建一个新的Dog 类的对象将有walk() 方法,因为那是从Animal 继承来的。
roger = Dog()
roger.walk() # 'Walking..'
roger.bark() # 'WOF!'