2019-04-29  本文已影响0人  三天逃离

一、创建和使用类

使用类几乎可以模拟任何东西。下面编写一个可以表示小狗的简单类Dog---他表示的不是特定的小狗,而是任何小狗。对于大多数的宠物狗,我们都知道些什么?他们都有姓名和年龄,我们还知道,大多数小狗还会蹲下和打滚。由于大多数小狗都具备上述两项信息和两种行为,我们的Dog类将包含他们。

1. 创建Dog类

根据Dog类创建的每个实例都将存储姓名和年龄。我们赋予了每条小狗蹲下和打滚的能力。
dog.py

class Dog(object):
        """一次模拟小狗的简单尝试"""
        
        def __init__(self, name, age):
               """初始化属性name和age"""
                self.name = name
                self.age = age

        def sit(self):
              """模拟小狗被命令时坐下"""
                print(self.name.title() + "正坐在那!")

        def roll_over(self):
              """模拟小狗被命令时打滚"""
                print(self.name.title() + "正在地上打滚!")

补充:
__init__()方法:
类中的函数称为方法,我们前面学到的有关函数的一切都适用于方法,就目前而言,唯一的差别,就是调用方法的方式。上述代码中的__init()方法是一个特殊的方法,每当你根据Dog类创建新实例时,python都会自动运行它。在这个方法的名称中,开头和末尾各有两个下划线,这是一种约定,旨在避免Python默认方法与普通方法发生名称冲突。
方法中有三个形参,self、name和age,在方法的定义中,形参self必不可少,且必须位于所有其他形参的前面。Why?因为Python调用这个__init__()方法来创建Dog实例的时候,将自动传入实参self。每个与类相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。

2. 根据类创建实例

可将类十位有关如何创建实例的说明。Dog类是一系列说明,让Python知道如何创建表示特定小狗的实例。

mt_dog = Dog('willie', 6)

print("My dog's name is " + my_dog.name.title() + '.')
print("My dog is " + str(my_dog.age) + " years old.")
上一篇 下一篇

猜你喜欢

热点阅读